美文网首页
SpringSecurity初次正式见面

SpringSecurity初次正式见面

作者: 鸡毛飞上天吧 | 来源:发表于2019-12-31 11:17 被阅读0次

    前言:SpringSecurity其实一早就出现在项目的框架中,平时也多多少少会接触到,但一直没有整块的时间让我去全面的学习,现在逮到机会要把它更全面的了解一下~

    概念

    SpringSecurity是基于Spring的 企业应用系统提供声明式的 安全访问控制解决方式的 提供身份验证和授权的 安全框架。
    应用的安全性包括用户认证(Authentication)和用户授权(Authorization)。

    • 用户认证指的是验证某个用户是否为系统中的合法主体,也就是说用户能否访问该系统。用户认证一般通过校验用户名和密码来完成。
    • 用户授权指的是验证某个用户是否有权限执行某个操作。

    列一下具体的类~

    过滤器

    web应用的安全框架最常用的收发就是使用Filter~
    如下为其主要过滤器

    • WebAsyncManagerIntegrationFilter
    • SecurityContextPersistenceFilter
    • HeaderWriterFilter
    • CorsFilter
    • LogoutFilter
    • RequestCacheAwareFilter
    • SecurityContextHolderAwareRequestFilter
    • AnonymousAuthenticationFilter
    • SessionManagementFilter
    • ExceptionTranslationFilter
    • FilterSecurityInterceptor
    • UsernamePasswordAuthenticationFilter
    • BasicAuthenticationFilter

    框架的核心组件

    • SecurityContextHolder:提供对SecurityContext的访问
    • SecurityContext,:持有Authentication对象和其他可能需要的信息
    • AuthenticationManager 其中可以包含多个AuthenticationProvider
    • ProviderManager对象为AuthenticationManager接口的实现类
    • AuthenticationProvider 主要用来进行认证操作的类 调用其中的authenticate()方法去进行认证操作
    • Authentication:Spring Security方式的认证主体
    • GrantedAuthority:对认证主题的应用层面的授权,含当前用户的权限信息,通常使用角色表示
    • UserDetails:构建Authentication对象必须的信息,可以自定义,可能需要访问DB得到
    • UserDetailsService:通过username构建UserDetails对象,通过loadUserByUsername根据userName获取UserDetail对象 (可以在这里基于自身业务进行自定义的实现 如通过数据库,xml,缓存获取等)

    安全框架原理理解
    简单举例

    相关文章

      网友评论

          本文标题:SpringSecurity初次正式见面

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