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

单页网站在线制作三大设计软件哪个好

单页网站在线制作,三大设计软件哪个好,wordpress边栏显示头像,外贸网站建设seo关键字#xff1a;AOP、JWT、自定义注解、责任链模式 一、Spring Security Spring Security 想必大家并不陌生#xff0c;是 Spring 家族里的一个安全框架#xff0c;特别完善#xff0c;但学习成本比较大#xff0c;不少开发者都觉得#xff0c;这个框架“很重” 他的…关键字AOP、JWT、自定义注解、责任链模式 一、Spring Security Spring Security 想必大家并不陌生是 Spring 家族里的一个安全框架特别完善但学习成本比较大不少开发者都觉得这个框架“很重” 他的认证授权的过程时使用的 api 和组件比较复杂但这不是主要的顾虑 并且他是基于过滤器实现的其过程抛出的异常并不会被全局异常处理器拦截通过 SpringSecurity 认证授权的请求才算进入我们的 Spring 环境下 但不得不说他确实有优点 对请求的一个 AOP 的统一处理但是好像没有专门的后置处理器可以通过添加过滤器的方式增加认证过程也对某些路由可添加授权过程框架的一些注解例如 PreAuthorize可以很方便的进行接口权限的设置 虽然它封装了很多现成的东西但其实一些自己去写也没什么大不了的还可以按照自己的想法去定制 我们可以学习它的优点去优化一下我们原本的认证授权架构 二、AOP JWT 通过全局拦截器拦截所有的请求请求携带访问令牌 JWT这里就不必多说了 三、自定义注解 自定义一个可以 Retention 为 RuntimeTarget 为 TYPE 或 METHOD 的注解 允许访问的角色是否需要认证是否需要授权 标注在 Controller 类才有用若加在类上则作用于所有方法若标注在方法上则以方法上的为准 意为此接口的拦截参数 /*** Created With Intellij IDEA* User: 马拉圈* Date: 2024-08-08* Time: 12:50* br /* permit: 用户必须是列表中的角色才能访问 br /* authenticate: 用户需不需要通过认证 br /* authorize: 用户需不需要通过授权 br /* 注意 br /* permit 若为 {}则代表谁都不能访问除非 authorize 为 false br /* 1. 不需要认证、不需要授权 ✅ br /* 2. 需要认证、需要授权 ✅ br /* 3. 需要认证、不需要授权 ✅ br /* 4. 不需要认证、需要授权 ❌必然失败 br /*/ Documented Target({ElementType.TYPE, ElementType.METHOD}) Retention(RetentionPolicy.RUNTIME) public interface Intercept {UserType[] permit() default {UserType.NORMAL_USER, UserType.MANAGER};boolean authenticate() default true; // 默认需要认证boolean authorize() default true; // 默认需要授权} Slf4j public class InterceptHelper {public static Intercept getIntercept(Class? clazz) {// 类上的 Intercept 为初步结果return clazz.isAnnotationPresent(Intercept.class) ? clazz.getAnnotation(Intercept.class) : null;}public static Intercept getIntercept(Method targetMethod) {// 获取目标方法所在的类Class? declaringClass targetMethod.getDeclaringClass();// 类上的 Intercept 为初步结果Intercept intercept getIntercept(declaringClass);// 方法上的 Intercept 为最终结果return targetMethod.isAnnotationPresent(Intercept.class) ? targetMethod.getAnnotation(Intercept.class) : intercept;}}四、责任链模式 责任链 抽象处理者具体处理者客户端我习惯是责任链的链头 设计出以下架构 前置初始化链 初始化日志变量、设置请求 id、请求 uri、请求方法便于全链路追踪根据配置文件对特定接口设置的拦截参数判断当前请求的接口是否被设置了特殊的拦截参数请求的接口如果存在目标方法则判断其方法上或者类上是否存在 Intercept 注解若存在则初始化拦截参数 若不存在拦截参数则代表该资源没有被开发者专门进行拦截的管理直接返回错误api 访问失败 前置认证链 是否忽略若 authenticate 参数为 false则直接忽略若认证未成功且未获取 jwt则尝试从 header 里获取 jwt若认证未成功且未获取 jwt则此时从 queryString 里获取 jwt若认证未成功则解析 jwt若成功解析出用户信息则存储到本地线程变量里若令牌即将过期则返回一个新的 jwt 若未认证成功则返回错误认证失败 前置授权链 是否武略是否强制拦截若未授权成功则获取当前用户的角色判断是否存在于拦截参数的允许访问的角色列表若存在则授权成功 若未授权成功则返回错误授权失败 后置链 清除日志变量、本地线程变量 在我们的架构中而一个责任链节点应该包含 拦截的路由执行的前置条件执行的代码 具体代码参考OKR-System4.0/src/main/java/cn/bitterfree/api/interceptor at main · CarefreeState/OKR-System4.0
http://www.tj-hxxt.cn/news/142614.html

相关文章:

  • 怎么弄自己的网站卖东西网页升级紧急通知在哪里看
  • 陶瓷 中企动力 网站建设重庆做网站有哪些
  • 网站开发入门培训中国建设银行官方网站汇率
  • Paas网站建设界面设计分析
  • 网站怎么做关键词流量秀洲区住房和城乡建设局网站
  • c 网站开发 环境配置小米发布会时间2022
  • 网站建设类型的好处福建省建设职业注册资格管理中心网站
  • 展馆网站建设wordpress加cnzz统计在那里加
  • 给人做网站赚钱上海网站建设内容更新
  • 网站实现如何用社交网站开发客户
  • 教做蛋糕的网站龙华网站建设专业公司
  • 网站模板制作与安装教程郴州网站建设公司哪个好
  • 最好的网站建设公司有哪些什么网站做视频赚钱
  • 怎么改网站模板2022年中国电商行业分析报告
  • 做公司门户网站的重点做的好的淘宝客网站
  • 小型IT网站开发公司网站建立公司 优帮云
  • 适合学生做的微商代理南昌网站排名优化费用
  • 免费的行情网站推荐大全如何做分销型网站
  • led照明企业网站模板微信手机网站建设
  • 电影网站开发视频崇左网站建设
  • 网站空间便宜建设项目水资源论证网站
  • 网站多少个关键词网站建设运维自查问题清单
  • 自己怎样免费建网站适合小学生摘抄的新闻2022年
  • 做网站宁夏徐州建设工程审图中心网站
  • seo网站排名优化公司哪家好个人怎么建立微信公众号
  • 旅游网站开发的流程网站建设概
  • 莱芜市网站建设公司网站建设公司怎么拉单
  • 求助用cms做网站设计_以我的家乡家乡为主题wordpress 课程激活
  • 如何上传模板到网站页面有哪几个网站可以做
  • 网站做投票网站备案换接入商