如何拦截器方式实现Oauth单点集成

实现Oauth单点登录的拦截器方法
  1. 定义Oauth参数

    首先在application.proterties中定义Oauth得参数 

    in_oauth_1

     这些参数需要从第三方提供得集成文档中获取

  2. 创建Oauth构建包 

    in_oauth_2

  3. 创建提供接口类,监听类,拦截器实现类

  • 创建接口类,此接口提供给第三方

    @RestController
    public class OauthLoginTokenController {
    
        
        @ApiOperation("获取code")
        @GetMapping("/api/tokenLogin")
        public String tokenLogin(@ApiParam("唯一标识") @RequestParam("code") String code){
            return code;
        }
    }
    
  • 创建监听类,此处设置拦截器名称,位置

    @RestController
    public class ZybxContributionListener implements IContributionListener{
        @Override
        public void loadFinished(IContributionEvent event) {
            //拦截器开关,根据需求自己设置是否开启(oauth-config-control此变量需要在application.proterties中定义)
            String falg = EOS8ApplicationContext.INSTANCE.getProperty("oauth-config-control");
            if("true".endsWith(falg)) {
                // 增加一个eos资源拦截器,用于权限码判断
                String id = "ZybxUserLoginInterceptor"; //拦截器类名称
                WebInterceptorConfig config = new WebInterceptorConfig();
                config.setFilterId(id);
                config.setClassName(ZybxUserLoginInterceptor.class.getName()); //拦截器类
                config.setPattern("/*");
                config.setSortIdx(200);
                WebInterceptorManager.INSTANCE.removeInterceptorConfig(id);//防止冲突
                WebInterceptorManager.INSTANCE.addInterceptorConfig(config);
                System.out.println("执行拦截器-----1");
            }
            
            
        }
    }
    
  • 创建拦截器实现类

    public class ZybxUserLoginInterceptor implements IWebInterceptor {
    /**
     * .getLogger(ZybxUserLoginInterceptor.class);pms_all
     */
        private static final Logger log = LoggerFactory.getLogger(ZybxUserLoginInterceptor.class);
    
    
        public static final String AUTHORIZATION = "Authorization";
    
        private static ILoginService loginService;
    
        private final static List<String> ADMIN_ROLES = Arrays.asList("1","2","3","4","5","6","7","8","9");
        
        static {
            BeanFactory beanFactory = BeanFactory.newInstance();
            loginService = beanFactory.getBean(ILoginService.class);
        }
    
    
        @Override
        public void doIntercept(HttpServletRequest request, HttpServletResponse response, IWebInterceptorChain chain) throws IOE
基于遗传算法的新的异构分布式系统任务调度算法研究(Matlab代码实现)内容概要:本文档围绕基于遗传算法的异构分布式系统任务调度算法展开研究,重点介绍了一种结合遗传算法的新颖优化方法,并通过Matlab代码实现验证其在复杂调度问题中的有效性。文中还涵盖了多种智能优化算法在生产调度、经济调度、车间调度、无人机路径规划、微电网优化等领域的应用案例,展示了从理论建模到仿真实现的完整流程。此外,文档系统梳理了智能优化、机器学习、路径规划、电力系统管理等多个科研方向的技术体系与实际应用场景,强调“借力”工具与创新思维在科研中的重要性。; 适合人群:具备一定Matlab编程基础,从事智能优化、自动化、电力系统、控制工程等相关领域研究的研究生及科研人员,尤其适合正在开展调度优化、路径规划或算法改进类课题的研究者; 使用场景及目标:①学习遗传算法及其他智能优化算法(如粒子群、蜣螂优化、NSGA等)在任务调度中的设计与实现;②掌握Matlab/Simulink在科研仿真中的综合应用;③获取多领域(如微电网、无人机、车间调度)的算法复现与创新思路; 阅读建议:建议按目录顺序系统浏览,重点关注算法原理与代码实现的对应关系,结合提供的网盘资源下载完整代码进行调试与复现,同时注重从已有案例中提炼可迁移的科研方法与创新路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值