springboot 按钮权限验证_SpringBoot-Security-用户权限分配-查找用户的菜单权限-阿里云开发者社区...

本章实现的功能是,某个用户登录时,如何查找该用户的菜单权限

Spring security认证过程

1、用户使用用户名和密码进行登录。

2、Spring Security将获取到的用户名和密码封装成一个实现了Authentication接口的UsernamePasswordAuthenticationToken。

3、将上述产生的token对象传递给AuthenticationManager进行登录认证。

4、AuthenticationManager认证成功后将会返回一个封装了用户权限等信息的Authentication对象。

5、通过调用SecurityContextHolder.getContext().setAuthentication(...)将AuthenticationManager返回的Authentication对象赋予给当前的SecurityContext。

6、认证成功后,用户就可以继续操作去访问其它受保护的资源了,通过调用SecurityContextHolder.getContext().getAuthentication()获取保存在SecurityContext中的Authentication对象进行相关的权限鉴定。

系统权限设计

设计基础:任何权限的需求,都是为广义的用户分配角色,角色拥有广义的权限。用户、角色、菜单(权限)三大核心表,加上用户角色、角色菜单两个映射表。就可以通过登录的用户来获取权限列表,再间接获取用户菜单列表。

系统权限表结构设计如下

用户表

CREATE TABLE `crm_sys_user` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`username` varchar(50) NOT NULL COMMENT '系统用户名',

`password` varchar(60) NOT NULL COMMENT '密码',

`nickname` varchar(255) DEFAULT NULL COMMENT '昵称',

`headImgUrl` varchar(255) DEFAULT NULL COMMENT '头像',

`phone` varchar(11) DEFAULT NULL COMMENT '手机号',

`telephone` varchar(30) DEFAULT NULL COMMENT '电话',

`email` varchar(50) DEFAULT NULL COMMENT '邮箱',

`birthday` varchar(10) DEFAULT NULL COMMENT '生日',

`sex` tinyint(1) DEFAULT NULL COMMENT '性别',

`isEnable` int(1) DEFAULT NULL COMMENT '状态 0.已停用 1.正常',

`isDel` int(1) DEFAULT NULL COMMENT '是否删除(0.已删除 1.正常)',

`createTi

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值