NutzCN Logo
问答 nutz-integration-shiro的使用疑问?
发布于 2373天前 作者 qq_a930202f 1370 次浏览 复制 上一个帖子 下一个帖子
标签:

官方介绍中称:原CaptchaFormAuthenticationFilter已经废弃 原因是出错了都不知道哪里错,而且不好定制.
能否简单介绍下哪里“出错了”?
“定制“是指Session的相关定制吗?

9 回复

例如密码错误

通过subject.login(token);处捕获的AuthenticationException不行么?

无论是用户名错误还是密码错误还是dao错误,都是抛一样的异常对象哦

而且CaptchaFormAuthenticationFilter是自动捕捉post登录请求,并非用户代码自行调用login

如果是想返回报错信息的话,我是用AuthenticationException.getCause().getMessage()
来返回 protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authcToken){ throw 各种异常消息 };

"自动捕捉post登录请求,并非用户代码自行调用login" 句话的含义或影响是?

既然你很熟悉shiro的登录机制,那就随意啦

使用CaptchaFormAuthenticationFilter做登录的时候, 登录页面和登录请求都是loginUrl控制, /user/login或者/login.

当发起登录请求(POST)时, 默认是在CaptchaFormAuthenticationFilter内部执行subject.login(token), 并不会进入入口方法.

当然,你既然你很熟悉shiro的登录, 使用/user/login或/login之外的登录路径, 也能避开这个限制

@wendal
我是也不怎么熟悉。想用nutz-integration-shiro替代之前的自定义shiro,整了半天也没弄通。。。。
所以问下nutz-integration-shiro的特点,和之前差不多的话还用之前的算了了。

也没几个类,过一遍嘛

SimpleAuthenticationFilter就是在入口方法完成登录信息的校验了,不需要在shiro的api里面各种绕(根据异常的message来处理算是hack行为...)

添加回复
请先登陆
回到顶部