美文网首页
Spring Security安全框架的使用

Spring Security安全框架的使用

作者: 我是邱邱 | 来源:发表于2019-09-26 10:26 被阅读0次

    Spring Security源码:https://docs.spring.io/spring-security/site/docs/4.1.0.RELEASE/reference/htmlsingle/#securitycontextholder-securitycontext-and-authentication-objects
    这里面解析挺详细的。
    Spring Security主要包含以下几个对象:
    1.SecurityContextHolder:它主要是为了获得SecurityContext对象
    2.SecurityContext:安全上下文,用于保存一些认证的信息,即Authentication对象
    3.Authentication:用于保存用户主体,即经过验证的用户信息
    4.UserDetails:这个对象我之前一直没有懂,它藏的很深,它主要就是用于通过一些必要信息从数据DAO或者其他途径构建Authentication对象,即通过验证
    5.UserDetailsService:它主要是通过传入一个基于String类型的字段(比如登陆的用户名)来创建一个UserDetails对象
    6.GrantedAuthority:认证用户的权限,用于构建UserDetails对象
    其实我总结Spring Security执行认证授权的步骤如下:

    认证授权

    Spring Security官网上说,并不关心是如何将Authentication对象放入到SecurityContext对象中的,但是在认证对象操作相应的权限之前,SecurityContext对象中就应该已经存在了Authentication对象了,所以我们进行相关权限执行的之前,可以自己编写一个过滤器进行验证该权限是否在可执行范围内,即编写一个过滤器,获取到相应权限,然后和认证通过的用户权限进行对比,如果认证通过的用户权限包含操作的权限,那么表示可以进行操作。

    相关文章

      网友评论

          本文标题:Spring Security安全框架的使用

          本文链接:https://www.haomeiwen.com/subject/ktcmuctx.html