Spring Security编程模型

1.采用spring进行权限控制

  url权限控制

  method权限控制

  实现:aop或者拦截器(本质就是之前之后进行控制)--------------------proxy就是

2.权限模型:

  本质理论:

    RABC权限模型(可以参看这方面的理论研究,有充分的数学理论作支撑)

  ===========================

  用户---名称,密码,备注

  角色---角色名称

  操作(权限)---添加,浏览---------------------(url,按钮,页签

  资源---人力资源库,

  ===========================

  关联表

    用户角色表(一个用户可有多个多色)

    角色操作表(一个角色可以有多个操作)

    操作资源表(一个操作可以针对多个资源)

==============================

  注意:实际上,项目开发使用启用或者激活这样的属性,暂时省略

  其次就是用户此处规定必须通过角色进行授权,实际上,项目里也可以采取用户直接授予操作权限

==============================

4.spring Security原理:

  1.读取数据库,用户的角色,构建List<GrantedAuthority>就是用户所具有的角色(也就是用户名密码验证之后对用户对象进行包装)

  2.读取数据库里面资源的权限构建FilterInvocationSecurityMetadataSource,也就是用户的资源权限

  3.通过AccessDecisionManager进行角色和资源的表决

5.配置:

  1.http配置

  2.bean配置 

  注意:配置信息参看网上.......

  

原文地址:https://www.cnblogs.com/gstsyyb/p/3946029.html