美文网首页
二、Spring Security的使用

二、Spring Security的使用

作者: 薛定谔的猫_1406 | 来源:发表于2018-03-23 17:30 被阅读0次

    一、课程介绍

    1.1 Spring Security介绍:认证、权限拦截、数据库、权限缓存以及自定义决策

    1.2 环境搭建和使用

    二、spring Security的架构

    三、Spring Security的权限拦截

    3.1 Spring Security拦截器的处理过程

    spring security提供了很多的过滤器,拦截servlet请求,将这些请求转交给认证管理器和访问决策管理器,并强制安全性

    3.2 spring security的常见filter

    3.2.1 率先执行的过滤器,判断用户的session是否已经存在securityContext的上下文中,如果存在则把securityContext拿出来,放在SecurityContextHolder中,供其它部分使用。

    过滤器的顶端,第一个起作用的过滤器

    3.2.2 LogoutFilter

    3.2.3 AbstractAuthenticationProcessingFilter:处理form登陆的过滤器

    3.2.4 DefaultLoginPageGeneratingFilter :生成默认的登陆页面

    3.2.5 BasicAuthenticationFilter:

    3.2.6 其它

    Spring Security的常见过滤器

    四、Spring Security的数据库管理

    当使用数据库管理用户时,我们需要手动实现UserDetailService中的loadUserByUsername()方法 loadUserByUsername()返回的UserDetail对象,其中包含了当前用户的权限集合

    五、Spring Security的权限缓存

    UserDetailService缓存

    六、Spring Security的自定义决策

    七、Case:Spring Boot+Spring Security

    7.1 搭建spring boot环境

    7.2 引入spring-security的依赖包,此时访问controller,就需要输入用户名密码来访问

    测试Controller如下 此时访问url就需要输入用户名密码

    7.3 对访问策略进行配置

    对http请求的策略配置 对静态资源的策略配置

    八、Spring Security的常见Case

    8.1 只要能登陆即可:网页是记录项目里的工具等,安全性要求不高。只要组内同事能登陆即可

    ADMIN用户只要登陆即可访问,zhouzhou是基于角色的,然后在Controller中添加如下的注解

    九、数据库管理用户

    定义实现UserDetaisService的类,其中返回一个UserDetails对象,UserDetails对象有如下的实现类 UserDetail的实现,其中需要如下的字段。密码需要自定义校验规则 自定义密码的校验规则 设置校验时定义的UserDetailService类,同时设定密码校验的类

    十、总结

    10.1 优点

    优点

    10.2 缺点

    相关文章

      网友评论

          本文标题:二、Spring Security的使用

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