加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

Spring Security用户权限测试

发布时间:2019-12-11 07:57:18 所属栏目:资源 来源:思否
导读:在本周给出题系统加了Travis的自动 测试 ,前一天还能通过,但第二天上课回来却报错了,原因是加了权限校验,是通过Spring Security实现的,不过初始化用户的时候也初始化了权限了呀。打上断点debug可以发现,该有的初始化状态都有 但是测试还是报了403,为
  在本周给出题系统加了Travis的自动测试,前一天还能通过,但第二天上课回来却报错了,原因是加了权限校验,是通过Spring Security实现的,不过初始化用户的时候也初始化了权限了呀。打上断点debug可以发现,该有的初始化状态都有  Spring Security用户权限测试  但是测试还是报了403,为什么呢?  解决办法  测试时用户是通过@WithMockUser实现的,其他测试类通过继承ControllerTest获得基础配置  Spring Security用户权限测试  和潘哥一番查找,发现spring已经替我们准备好了解决办法,只需在@WithMockUser添加相应的属性即可  Spring Security用户权限测试  添加相应的角色:  单元测试顺利通过。  关于@WithMockUser和Spring Security测试的更详细内容可以查看官方文档。  为何会这样  user里面已经有了相应的角色,为何还需要在注解中配置角色呢?  知其然还需知其所以然才行,所以尝试着去寻找为何这样,先自己在网上搜了搜,没整太明白,问了问张喜硕学长,学长给我解释了一下。以下内容需要Spring Security的基础知识。  在本项目中,登录流程如下:  前台传一个用户到后台  通过继承自UserDetailsService的YunzhiAuthService生成了一个org.springframework.security.core.userdetails.User  和数据库中的user比较密码  正确则登录成功,并存入session  而权限是在UserDetailsService的loadUserByUsername中生成的。  当使用@WithMockUser时,实际上并没有进行登录操作,自然无法从数据库中的用户中提取出相应的权限,而在注解中配置的权限会直接放入 session中。  Spring Security用户权限测试

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读