shiro登陆错误回顾

登陆思路整理:

没有shiro的条件下,用户提交登陆form后,希望进入目标URL,在刚开发时,登陆提交的URL是 /user/getUserInfo,这个URL是验证登陆信息然后获取用户信息并跳转到用户信息页面。然而,配置shiro后,登陆的url的配置地址XML中,写的是/user/login,虽然在controller中存在这个URL。于是,shiro在接收到form请求后,没有进入realm,直接跳转到/user/login。因为实际提交的地址是/user/getUserInfo,这个地址没有认证成功过,所以一直跳转到/user/login。

正确的做法是:把提交的地址改成/user/login。这样shiro才会进入realm。


在没有shiro的情况下,应该也是把登陆的form地址写成/user/login,这样才合理。


现在有了shiro认证,在处理login的函数中,应该这样做,第一,可以通过realm处理后的信息,得到相关认证信息。第二,对于realm认证失败的后续处理

-------------------------------------------------------------------------

在页面开发登陆时,在form中写好登陆的地址,这个地址需要和shiro配置的登陆地址一致。


页面开始访问时,shiro会根据URL地址,判断是不是已经登陆,如果没有登陆,跳转到已经定义好的登陆URL,但是,不管是不是已经登陆过,shiro都不会主动去realm验证,

根据测试结果,当url为shiro配置的登陆url时,才会开始进行realm验证,要不然,是不会进入到realm中的


这里特别强调,在使用shiro时,访问任何的url都需要精确写清楚,没有什么URL是乱写的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值