Java的新项目学成在线笔记-day18(三)

2.5 小结 
方法授权步骤:
1、ResourceServerConfig类上添加注解,如下:

[AppleScript] 纯文本查看 复制代码

?

1

2

//激活方法上的PreAuthorize注解

@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)


2、在方法添加授权注解
 

[AppleScript] 纯文本查看 复制代码

?

1

@PreAuthorize("hasAuthority('???')")


3、如果方法上不添加授权注解表示此方法不需要权限即可访问。   3 动态查询用户权限 3.1 需求分析 
截至目前在测试授权时使用的权限数据是静态数据,正常情况的流程是:
1、管理员给用户分配权限,权限数据写到数据库中。
2、认证服务在进行用户认证时从数据库读取用户的权限数据(动态数据)
本节实现动态权限数据。 3.2 权限数据模型 
3.2.1 数据模型结构 
打开xc_user数据库,找到下边的表:

 
xc_user:用户表,存储了系统用户信息,用户类型包括:学生、老师、管理员等 xc_role:角色表,存储了系统的角色信息,学生、老师、教学管理员、系统管理员等。
xc_user_role:用户角色表,一个用户可拥有多个角色,一个角色可被多个用户所拥有 xc_menu:模块表,记录了菜单及菜单下的权限
xc_permission:角色权限表,一个角色可拥有多个权限,一个权限可被多个角色所拥有   3.2.2 数据模型的使用 
本项目教学阶段不再实现权限定义及用户权限分配的功能,但是基于权限数据模型(5张数据表)及现有数据,要 求学生在数据库中操作完成给用户分配权限、查询用户权限等需求。
1、查询用户所拥有的权限
步骤:
确定用户的id
查询用户所拥有的角色
查询用户所拥有的权限
例子:
 

[AppleScript] 纯文本查看 复制代码

?

1

2

3

SELECT * FROM xc_menu WHERE id IN( SELECT menu_id FROM xc_permission WHERE role_id IN(      SELECT role_id FROM xc_user_role WHERE user_id = '49'  

       )  

   )


2、给用户分配权限 1)向已拥有角色分配权限 步骤:
确定用户的id 确定权限的id
确定用户的角色
向角色权限表添加记录

2)添加角色给用户分配权限 步骤: 确定用户的id
确定权限的id
添加角色
向角色权限表添加记录
向用户角色关系表添加记录

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值