首页 > 其他分享 >cas5.3 通过接口登录,登录后可跳到任意子系统,

cas5.3 通过接口登录,登录后可跳到任意子系统,

时间:2023-11-13 14:33:36浏览次数:30  
标签:systemUser cas5.3 service 登录 simpleWebApplicationService myCredential authentica

Map<String, Object> map = (Map) new MyBeanMap(systemUser);
        PrincipalFactory principalFactory = new DefaultPrincipalFactory();
        Principal principal = principalFactory.createPrincipal(systemUser.getLoginid(),map);

        AuthenticationBuilder authenticationBuilder = DefaultAuthenticationBuilder.newInstance();
        authenticationBuilder.setPrincipal(principal);
        //authenticationBuilder.setAttributes(map);
        authenticationBuilder.setAuthenticationDate(ZonedDateTime.now());
        UsernamePasswordCaptchaCredential myCredential = new UsernamePasswordCaptchaCredential();
        myCredential.setNe(systemUser.getLoginid());
        myCredential.setWd("");
        BasicCredentialMetaData basicCredentialMetaData = new BasicCredentialMetaData(myCredential);
        List<CredentialMetaData> list = new ArrayList<>();
        list.add(basicCredentialMetaData);
        authenticationBuilder.addCredentials(list);
        Authentication auth = authenticationBuilder.build();

        AbstractWebApplicationService simpleWebApplicationService = new SimpleWebApplicationServiceImpl();
        simpleWebApplicationService.setId(service);
        simpleWebApplicationService.setOriginalUrl(service);
        simpleWebApplicationService.setSource("service");
        DefaultAuthenticationResult authenticationResult = new DefaultAuthenticationResult(auth, simpleWebApplicationService);
        authenticationResult.setCredentialProvided(true);
        //生成TGT,并保存到cookie中
        TicketGrantingTicket ticketGrantingTicket = centralAuthenticationService.createTicketGrantingTicket(authenticationResult);
        ticketGrantingTicketCookieGenerator.addCookie(request, response, ticketGrantingTicket.getId());

  

标签:systemUser,cas5.3,service,登录,simpleWebApplicationService,myCredential,authentica
From: https://www.cnblogs.com/xx-ggyy/p/17829024.html

相关文章

  • 微信登录流程
     步骤分析:小程序端,调用wx.login()获取code,就是授权码。小程序端,调用wx.request()发送请求并携带code,请求开发者服务器(自己编写的后端服务)。开发者服务端,通过HttpClient向微信接口服务发送请求,并携带appId+appsecret+code三个参数。开发者服务端,接收微信接口服务......
  • 单点登录(sso)工作机制CAS
    1,  2,cas动图13,cas动图2    4,时序图 5,其他认证   6, ......
  • redis修改端口后怎么登录
    项目方案:Redis修改端口后的登录方案1.简介Redis是一个开源的内存数据库,常用于缓存、消息队列和实时数据分析等场景。在使用Redis时,可能需要修改默认端口,以增加安全性。本文将介绍如何修改Redis端口后进行登录的方案。2.修改Redis端口默认情况下,Redis使用6379端口。为了修改端......
  • SpringSecurity successHandler方法使用自定义Handler登录成功,302问题
    一开始我自定义了成功和失败两个Handler,在进行调试的时候发现失败的没有问题,但是登录成功的话走的是某人的重定向而不是我自定义的protectedvoidconfigure(HttpSecurityhttp)throwsException{http.csrf().disable().headers().frameOptions().disable()......
  • vscode配置Remote-SSH插件远程登录
    使用private-key实现免密登陆配置:在SSH配置文件(通常是'~/.ssh/config')中,你可以使用'IdentityFile'指令来指定私钥文件,这个指令用于指定身份验证的私钥文件路径。编辑config文件Hostexample.comHostNameexample.comUseryour_usernameIdentityFile~/.ssh/your_priv......
  • 服务器配置ssh密钥免登录
    一、简介二、实操三、问题 一、简介当服务器登录使用账号密码比较麻烦时,就可以使用密钥ssh。二、实操1.生成公密钥。1.1windows生成命令行输入ssh-keygen1、输入命令后第一行是输入密钥保存地址,不输入就是默认文件地址 2......
  • Linux:SSH服务异常,无法登录解决办法
    我这能杀死啊,我还以为杀不死呢。。。[root@RV1126_RV1109:/]#killallky_ai_camera_engine_origin[root@RV1126_RV1109:/]#12文章目录20230816Linux中使用killall时无法找到进程的原因及解决方法一、引言二、可能的原因2.1进程名错误2.2进程未在执行2.3权限问题三、解决方......
  • Linux Media 子系统链路分析
    一、概述Media子系统是一个用于处理多媒体设备的框架,它提供了一组API和驱动程序,用于管理和控制视频、音频和其他多媒体设备。而V4L2是media子系统的一部分,用于处理视频相关的功能。了解MIPI摄像头后,发现linux系统下的流媒体驱动很复杂,而MIPI摄像头主要分为感光模组......
  • Tomcat登录进入manager管理等界面
    1conf/tomcat-users.xml添加如下内容:<rolerolename="admin-gui"/><rolerolename="manager-gui"/><rolerolename="manager-jmx"/><rolerolename="manager-script"/><rolerolename="manager-st......
  • 多因素验证如何让企业邮箱系统登录更安全?
    企业邮箱系统作为基础的办公软件之一,既是企业内外沟通的重要工具,也是连接企业多个办公平台的桥梁,往往涉及到客户隐私、业务信息、企业机密等等。为了保护邮箱账户的安全,设置登陆密码无疑是保护账户安全的常用措施之一。然而随着互联网木马和攻击的日益猖獗,普通的用户名及密码的认证......