这篇文章主要介绍“SpringSecurity权限管理实例分析”,在日常操作中,相信很多人在SpringSecurity权限管理实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringSecurity权限管理实例分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!配置类不需要继承WebSecurityConfigurerAdapter方法,直接注入:configure方法相同的明文可加密成不同的密文,不用维护原字段。明文【123】加密后:$2a 10 10 10SS.YDon5lzqkIFdW8DQYzOTJBvQwkdXHWcHlIfF1fa/wPjJtru5aO
$2a 10 10 10vJsPq4GBtHKmmBQaKTriTO90sFurCEDavZANqCoqGu4gAzXxGLbTC
$2a 10 10 10gZ4H3/tBRpz2lPX0XUI1ber2qsNsKuk38j0iSsATeVOrrWFJIEr1G
$2a 10 10 10h7RiyAXP8JzWGsmAXGZy/uO6ASraQPNryVPl.11vMyUjhSCxS.Sde
$2a 10 10 10BCm3vuueGWdvjG3ciCUZB.6V9y6jMELHqB9iv2DwRJyOkR5jd…4S
$2a 10 10 10rO2894WmxRMtjHVzoYivyuzvje8BrAUjm8YLj3K.i4sQDvpWBtuuy
$2a 10 10 10jTosyN75hwKB3OSQCYY9YOIj6TYZG1FdJXfYCalTUuXpPiI5tv/P.
$2a 10 10 10p95j18H3yRABEScCE/2MqOqYt1ZqArdYhC87BVGEmQvn6znSqKw5G
$2a 10 10 10/y8FGBlvod1Dnq29c2scs.eGnYfvezZIZwfDHoXFfgIVA7H0T17pO
$2a 10 10 10k8IKAv4dBXhooEU8免费云主机域名Qgo6E.PcrQ/ICymqNGLyE8Jfo4V1nk61GMeuy在配置类中添加注解:@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)接口都能访问,但进了接口不一定能访问到接口里面的方法!!
【Controller层:】【Service层:】1、数据库中创建三张表user、role、user_role2、设置配置文件3、创建实体User、Role4、编写mapper层
UserMapper接口:UserMapper.xml:5、编写service层:6、security安全配置:7、controller层接口调试:数据库中的表结构如下:其中菜单表中已经配置好对应的路径,后面需要从数据库中加载:1、编写实体类User、Role、Menu:
User实现UserDetails接口,实现如下方法:2、编写UserService:继承UserDetailsService接口,实现loadUserByUsername方法3、编写UserMapper接口:4、编写UserMapper.xml:至此,已经从数据库中获取到登录用户user所具备的角色1、在SecurityConfig类中配置登录权限2、配置角色(从数据库中动态加载) 1 在config包中创建MyFilter.java过滤器在config包中创建MyFilter.java过滤器,实现FilterInvocationSecurityMetadataSource接口,其主要作用是分析请求地址,请求地址必然是menu表中给出的标准地址(如果不是则进行其他操作),根据请求地址分析出需要哪些角色注意:这里需要提前从数据库查询出所有菜单以及对应的角色。补充:查询菜单及对应角色(使用Spring Cache作缓存)1、导入缓存相关依赖2、需要简单配置一下Redis,Redis的基本信息,另外,这里要用到Cache,因此还需要稍微配置一下Cache,如下:另外,还需要在配置类上添加如下代码,表示开启缓存:3、Service层缓存的使用
(1)在MenuServiceImpl类上使用@CacheConfig(cacheNames = “c1”)
这个注解在类上使用,用来描述该类中所有方法使用的缓存名称,当然也可以不使用该注解,直接在具体的缓存注解上配置名称。
(2)在MenuServiceImpl类下getAllMenus()方法使用@Cacheable
这个注解一般加在查询方法上,表示将一个方法的返回值缓存起来,默认情况下,缓存的key就是方法的参数,缓存的value就是方法的返回值。2、在config包中创建MyAccessDecisionManager类在config包中创建MyAccessDecisionManager类,目的是通过上一步获取了请求路径需要哪些角色看看数据库中是否具有该角色。3、在SecurityConfig引入myAccessDecisionManager + myFilter到此,关于“SpringSecurity权限管理实例分析”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注百云主机网站,小编会继续努力为大家带来更多实用的文章!
这篇“JavaScript中this指针指向怎么理解”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“JavaScript中this指针指向怎么理解…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。