当前位置: 首页 > news >正文

深圳校园网站建设荆门建设局官方网站

深圳校园网站建设,荆门建设局官方网站,wordpress设置权限设置方法,建设银行网站查询密码是啥Spring Boot集成Spring Security之登录登出业务逻辑 一、概要说明二、基于内存的用户名密码1、默认用户名密码2、自定义用户名密码3、为方便测试添加测试接口TestController 三、登录登出重要概念介绍四、登录业务逻辑1、登录业务相关过滤器2、访问业务请求处理流程①、访问业务… Spring Boot集成Spring Security之登录登出业务逻辑 一、概要说明二、基于内存的用户名密码1、默认用户名密码2、自定义用户名密码3、为方便测试添加测试接口TestController 三、登录登出重要概念介绍四、登录业务逻辑1、登录业务相关过滤器2、访问业务请求处理流程①、访问业务请求地址被拦截重定向到登录页面请求②、重定向定页面请求返回登录页面③、输入正确用户名密码重定向到业务请求④、重定向到业务请求 五、登出业务实现逻辑1、登出业务相关过滤器2、访问登出页面请求处理流程3、登出页面确认登出请求处理流程①、确认登出重定向到登录页面请求②、登录页面请求 六、说明七、Spring Boot集成Spring Security专栏 一、概要说明 本文主要介绍登录登出业务流程所以使用基于内存的用户名密码暂不介绍授权相关内容后续会详细介绍基于数据库的认证及授权如何查看基于内存的默认用户名密码如何配置基于内存的自定义用户名密码本文与上文有强关联性如果对过滤器链中登录相关的过滤器不熟悉的同学请先查看过滤器链详解 二、基于内存的用户名密码 1、默认用户名密码 一、Spring Boot集成Spring Security之自动装配中第五节已介绍当用户未自定义认证接口时生成默认认证接口inMemoryUserDetailsManager其中用户名为user密码为随机生成的uuid项目启动时会打印在控制台中 用户名密码源码 2、自定义用户名密码 上一小节【用户名密码源码】中配置绑定可以配置自定义用户名、密码通过配置文件配置用户名密码 3、为方便测试添加测试接口TestController package com.yu.demo.web;import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;RestController RequestMapping(/test) public class TestController {GetMapping(/hello)public String hello() {return success;}} 三、登录登出重要概念介绍 安全上下文仓库SecurityContextRepository用于存储安全上下文默认基于session实现HttpSessionSecurityContextRepository安全上下文持有者SecurityContextHolder用于存储本次请求的安全上下文默认基于ThreadLocal实现安全上下文SecurityContext用于存储认证信息认证信息Authentication用于存储用户及认证结果信息主要实现类有 用户名密码认证TokenUsernamePasswordAuthenticationToken匿名认证TokenAnonymousAuthenticationToken 登录页面请求跳转到登录页面的请求登录请求在登录页面输入用户名密码后提交的请求登出页面请求跳转到登出页面的请求登出请求在登出页面确认登出提交的请求 四、登录业务逻辑 1、登录业务相关过滤器 SecurityContextPersistenceFilterUsernamePasswordAuthenticationFilterDefaultLoginPageGeneratingFilterAnonymousAuthenticationFilterExceptionTranslationFilterFilterSecurityInterceptor 2、访问业务请求处理流程 ①、访问业务请求地址被拦截重定向到登录页面请求 浏览器访问业务请求地址http://localhost:8080/test/helloSecurityContextPersistenceFilter处理请求 从安全上下文仓库中获取安全上下文为空创建没有认证信息的安全上下文SecurityContextImpl将第1步中获取的安全上下文设置到安全上下文持有者中执行后续过滤器链 AnonymousAuthenticationFilter处理请求 获取安全上下文持有者中的安全上下文中的认证信息为空创建匿名认证信息创建新的没有认证信息的安全上下文将第2步中的匿名认证信息设置到第3步中的安全上下文中将第3步中的安全上下文中设置到安全上下文持有者中执行后续过滤器链 FilterSecurityInterceptor处理请求 验证安全上下文持有者中的安全上下文中的匿名认证信息通过验证授权信息失败业务请求地址未设置可以匿名访问时抛出AccessDeniedException异常 ExceptionTranslationFilter处理请求 捕获FilterSecurityInterceptor抛出的AccessDeniedException异常判断是因为匿名访问导致的授权异常创建新的没有认证信息的安全上下文将第3步中的安全上下文中设置到安全上下文持有者中重定向到登录页面http://localhost:8080/login SecurityContextPersistenceFilter处理请求 执行chain.doFilter之后的代码获取安全上下文持有者中的安全上下文删除安全上下文持有者中的安全上下文将第2步中获取的安全上下文保存到安全上下文仓库中 重定向登录页面请求http://localhost:8080/loginGET ②、重定向定页面请求返回登录页面 SecurityContextPersistenceFilter处理请求 从安全上下文仓库中获取安全上下文为空创建没有认证信息的安全上下文SecurityContextImpl将第1步中获取的安全上下文设置到安全上下文持有者中执行后续过滤器链 DefaultLoginPageGeneratingFilter处理请求 判断是跳转到登录页面的请求生成默认登录页面返回并渲染生成的默认登录页面不在调用后续过滤器调用前面Filter中chain.doFilter之后的代码 SecurityContextPersistenceFilter处理请求 执行chain.doFilter之后的代码获取安全上下文持有者中的安全上下文删除安全上下文持有者中的安全上下文将第2步中获取的安全上下文保存到安全上下文仓库中 ③、输入正确用户名密码重定向到业务请求 SecurityContextPersistenceFilter处理请求 从安全上下文仓库中获取安全上下文为空创建没有认证信息的安全上下文SecurityContextImpl将第1步中获取的安全上下文设置到安全上下文持有者中执行后续过滤器链 UsernamePasswordAuthenticationFilter处理请求 判断需要认证AbstractAuthenticationProcessingFilter.doFilter方法认证用户名密码成功生成已认证的认证信息UsernamePasswordAuthenticationToken创建新的没有认证信息的安全上下文将第2步中的认证信息设置到第3步中的安全上下文中将第3步中的安全上下文设置到安全上下文持有者中将第3步中的安全上下文保存到局部变量安全上下文仓库中空实现重定向到业务请求地址http://localhost:8080/test/hello SecurityContextPersistenceFilter处理请求 执行chain.doFilter之后的代码获取安全上下文持有者中的安全上下文删除安全上下文持有者中的安全上下文将第2步中获取的安全上下文保存到安全上下文仓库中 ④、重定向到业务请求 SecurityContextPersistenceFilter处理请求 从安全上下文仓库中获取已认证的安全上下文将第1步中获取的安全上下文设置到安全上下文持有者中执行后续过滤器链 FilterSecurityInterceptor处理请求 验证安全上下文持有者中的安全上下文中的认证信息通过验证授权成功进入DispatcherServlet分发请求到具体的controller调用接口返回数据 SecurityContextPersistenceFilter处理请求 执行chain.doFilter之后的代码获取安全上下文持有者中的安全上下文删除安全上下文持有者中的安全上下文将第2步中获取的安全上下文保存到安全上下文仓库中 五、登出业务实现逻辑 1、登出业务相关过滤器 SecurityContextPersistenceFilterLogoutFilterDefaultLogoutPageGeneratingFilter 2、访问登出页面请求处理流程 浏览器访问登出请求地址http://localhost:8080/logoutSecurityContextPersistenceFilter处理请求 从安全上下文仓库中获取已认证的安全上下文将第1步中获取的安全上下文设置到安全上下文持有者中执行后续过滤器链 DefaultLogoutPageGeneratingFilter处理请求 判断是跳转到登出页面的请求生成默认登出页面返回并渲染生成的默认登出页面不在调用后续过滤器调用前面Filter中chain.doFilter之后的代码 SecurityContextPersistenceFilter处理请求 执行chain.doFilter之后的代码获取安全上下文持有者中的安全上下文删除安全上下文持有者中的安全上下文将第2步中获取的安全上下文保存到安全上下文仓库中 3、登出页面确认登出请求处理流程 ①、确认登出重定向到登录页面请求 SecurityContextPersistenceFilter处理请求 从安全上下文仓库中获取已认证的安全上下文将第1步中获取的安全上下文设置到安全上下文持有者中执行后续过滤器链 LogoutFilter处理请求 判断是登出请求获取安全上下文持有者中的安全上下文登出处理器处理登出业务 删除安全上下文持有者中的安全上下文创建没有认证信息的安全上下文将第2步中的安全上下文保存到安全上下文仓库中 重定向到登录页面 SecurityContextPersistenceFilter处理请求 执行chain.doFilter之后的代码获取安全上下文持有者中的安全上下文删除安全上下文持有者中的安全上下文将第2步中获取的安全上下文保存到安全上下文仓库中 ②、登录页面请求 第三节登录业务逻辑已介绍不再赘述。 六、说明 Spring Boot集成Spring Security默认是非前后分离架构本文介绍的流程是非前后分离版本的处理流程前后分离处理流程较为简单 未认证时访问业务接口返回未认证错误信息调用登录接口成功后返回Token此后请求头中携带此Token调用登出接口成功后返回成功后端将该Token失效携带Token访问业务接口后端验证Token成功后调用业务接口并返回数据 七、Spring Boot集成Spring Security专栏 一、Spring Boot集成Spring Security之自动装配 二、Spring Boot集成Spring Security之实现原理 三、Spring Boot集成Spring Security之securityFilterChain过滤器链详解 四、Spring Boot集成Spring Security之登录登出业务逻辑 五、Spring Boot集成Spring Security之登录成功后自动认证业务实现逻辑未完成 六、Spring Boot集成Spring Security之自定义securityFilterChain过滤器链未完成 七、Spring Boot集成Spring Security之自定义基于JWT的用户名密码认证未完成 八、Spring Boot集成Spring Security之登录成功后JWT自动认证未完成 九、Spring Boot集成Spring Security之验证码认证未完成
http://www.hkea.cn/news/14503718/

相关文章:

  • 做淘客网站企业备案乐从狮山网站建设
  • asp网站和php网站桂林北站停车场收费标准
  • 网站管理系统 phpwordpress快速评论
  • 家教辅导培训网站建设wordpress上传完主题
  • 自学商城网站建设网站不备案能用吗
  • 成都网站建设公司湖南岚鸿crm销售
  • 一个最简单的产品展示的asp网站应该如何做刚刚突发1惊天大事
  • 网站建设 前沿文章网站建设与实现 文献综述
  • 色流网站如何做南京做网站公司 雷仁
  • 无锡高端网站建设公司装修风格有哪些
  • dede网站建设的个人总结家居东莞网站建设
  • 建站 网站程序有哪些长宁企业网站制作
  • 网站黑名单查询做单位网站的公司吗
  • 贵州企业网站建设策划怎么提高网站加载速度
  • 怎么开个人网站成都网络营销网站
  • 自己怎么来建设网站seo推广优化找stso88效果好
  • 网站换域名后需要多长时间才能收录恢复正常dw编辑器
  • 宜昌网站建设选择宜昌慧享互动床上爱做网站
  • 花生壳做网站需要备案注册公司网上核名流程
  • 网站里面的按钮链接怎么做广告设计公司有哪些
  • 房产网站编辑如何做南京专业app开发定制
  • 上海设计公司网站网站主机名
  • 苏州h5网站建设海口制作网站软件
  • 微信菜单怎么做微网站北京做软件开发的公司
  • 汽车网站建设论坛万网网站备案系统
  • 福安 网站建设北京中高风险地区名单
  • 网站注册凡科html简单网页代码课程表
  • 张家界酷网科技网站建设做地方网站
  • 凡科网站怎么修改中国新设计师联盟
  • 怎么做织梦网站在线磁力搜索神器