cas shiro 前后端分离 登录_shiro配置登录验证(前后端分离项目)

本次只是记录一下启用shiro配置过程遗忘掉的几个关键点,首先项目是前后端分离的后台,提供json格式的接口数据,但又是一个web项目,现在要控制登录之后才能使用

1、ShiroFilterFactoryBean我这里是一个自定义的,继承ShiroFilterFactoryBean,重写了setFilterChainDefinitions方法,因为动态权限数据是从数据库查来的,下面说这个bean的loginUrl和unauthorizedUrl属性,一般这俩个配置的是一样的,这个属性的值配置的/login,这个地址不一定要有,项目没有这个requestmapping地址也没有问题,关键在filterChainDefinitions里面这个/login地址要配置成anon,项目用来登录的接口也要在这里配上anon,前端用的js和css,图片地址要在这里配置上anon,其它的全部是authc

2、如果有自定义的filter,配置filters的时候,entry里的key要和filterChainDefinitions里的有的对应上(比如前面用的authc),filterChainDefinitions里用的验证名,和自定义的filter用的key一样的时候,这个filter才会起作用

3、自定义的filter在重写isAccessAllowed方法的时候,要判断请求是不是ajax请求,是ajax请求没有权限或登录失效要用response返回json数据,不能跳转登录页面,还有一点如果使用response里的out返回给前端数据,那么当前方法要return false,不然会报Cannot call sendError() after the response has been committed 这个错

4、登录的时候密码验证是自己些的realm中doGetAuthenticationInfo这个方法中,如果前面使用的UsernamePasswordToken登录的,这里的token可以转换成UsernamePasswordToken,从里面拿到的用户名和密码,前面登录创建UsernamePasswordToken的时候用的什么参数,这里就会拿到什么

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值