SpringSecurity学习笔记

  1. SpringSecurity中角色和权限是怎么分别的?

首先说SpringSecurity框架是不分权限和角色这种东西得,框架在实现登录逻辑UserDetailsService的时候,其中框架会返回UserDetails这个实现类User得时候,User对象属性中包含GrantedAuthority的一个集合,那么这个集合又是用来做什么的呢?我们继续再深入的看一下代码,可以看到,这个对象就是有个属性,存的还是字符串。所以说我们SpringSecurity这个东西是不区分角色和权限的,有的只是在查看用户角色和权限的时候使用的方法不一样会使用不同的方法,而方法是通过判断字符串是以ROLE开头还是不以他开头的。

下面这个是抄网上的一段话。

hasRole(role)    用户拥有指定的角色权限时返回true
hasAnyRole([role1,role2])    用户拥有任意一个指定的角色权限时返回true
hasAuthority(authority)    用户拥有指定的权限时返回true
hasAnyAuthority([authority1,authority2])    用户拥有任意一个指定的权限时返回true
hasIpAddress('192.168.1.0')    请求发送的Ip匹配时返回true

我们在配置权限的时候经常会用到这些方法。就下面的这一坨东西
在这里插入图片描述

hasRole()的权限名称需要用 “ROLE_” 开头,而hasAuthority()不需要,而且,这就是全部的区别。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值