从关键类认识 Spring security
来源:互联网 发布:网络新媒体就业前景 编辑:程序博客网 时间:2024/06/13 18:20
//生成默认登录界面的类 DefaultLoginPageGeneratingFilter defaultLoginPageGeneratingFilter; //处理登录业务的类 UsernamePasswordAuthenticationFilter authenticationFilter; //认证信息接口,在登录认证成功后生成一个包含用户权限等信息的 Authentication 对象 将其存放在 SecurityContext 中 Authentication authentication; //用来保存 SecurityContext,SecurityContext 含有当前正在访问系统的用户的详细信息 SecurityContextHolder contextHolder; //处理认证(Authentication)请求的接口 只定义了一个方法 authenticate() 默认实现是 ProviderManager AuthenticationManager authenticationManager; //认证提供者(没有理解很清楚) AuthenticationProvider authenticationProvider; //允许我们从数据库来加载 UserDetails,其底层使用的是 Spring 的 JdbcTemplate 进行操作 JdbcDaoImpl jdbcDaoImpl; //用户登录信息接口 包含有 用户名、密码、权限等与认证相关的信息 UserDetails userDetails; //仅包含loadUserByUsername()一个方法的接口,改方法返回一个 UserDetails 对象, //通常使用该方法来获取 UserDetails 进行认证 UserDetailsService userDetailsService; //GrantedAuthority 接口中只定义了一个 getAuthority() 方法,该方法返回一个字符串, //表示对应权限的字符串表示,如果对应权限不能用字符串表示,则应当返回 null。 GrantedAuthority grantedAuthority;
security认证过程:
1.用户使用用户名和密码进行登录。2.Spring Security 将获取到的用户名和密码封装成一个实现了 Authentication 接口的 UsernamePasswordAuthenticationToken。3.将上述产生的 token 对象传递给 AuthenticationManager 进行登录认证。4.AuthenticationManager 认证成功后将会返回一个封装了用户权限等信息的 Authentication 对象。5.通过调用 SecurityContextHolder.getContext().setAuthentication(...) 将 AuthenticationManager 返回的 Authentication 对象赋予给当前的 SecurityContext。
0 0
- 从关键类认识 Spring security
- 认识spring security
- 认识java.security.MessageDigest 类
- 认识java.security.MessageDigest 类
- spring security 下web应用安全的关键Filter:FilterSecurityInterceptor
- Spring Security 从配置入门 学习讲解
- Spring Security 授权通知类
- spring security 从入门到精通一 环境搭建
- spring security 从入门到精通二 基础配置
- springboot集成spring security初探2--从数据库读取用户权限
- Spring Security
- Spring Security
- spring security
- spring security
- spring security
- spring security
- spring security
- spring security
- PHP给C++发协议JSON格式(PROTOBUF环境太难配置)
- HTML5静态网页实战——个人blog首页
- U3D VR场景中如何瞬移。不用插件的情况下
- 4-2 多项式求值 (15分)
- 查找线索二叉树的前驱和后继
- 从关键类认识 Spring security
- JS相关网站
- 机器学习前导---IBM讲座笔记
- 关于521
- 在Quartus II 13.1里RTL视图问题
- MyBatis调用存储过程,含有返回结果集、return参数和output参数
- 最长上升连续子序列
- Android开发准备——Java和Android Studio环境搭建
- JZOJ 4.15 1666——【AHOI2009】飞行棋