cas服务端、客户端搭建

这篇具有很好参考价值的文章主要介绍了cas服务端、客户端搭建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

单点登录服务端搭建

1、下载cas包

https://github.com/apereo/cas-overlay-template/tree/5.3

这好像是最后一个maven版本的,之后都是grade版本的

2、使用idea打开代码,导入依赖

3、新建src目录、resource目录

4、复制cas-server-webapp-tomcat下的services、applicaiton.properties目录到resources目录下
cas服务端、客户端搭建

5、修改resources/services/HTTPSandIMAPS-10000001.json文件,添加如下内容,支持http访问
cas服务端、客户端搭建

6、添加数据库依赖

<!-- 数据库 -->
<dependency>
    <groupId>org.apereo.cas</groupId>
    <artifactId>cas-server-support-jdbc</artifactId>
    <version>${cas.version}</version>
</dependency>
<dependency>
    <groupId>org.apereo.cas</groupId>
    <artifactId>cas-server-support-jdbc-drivers</artifactId>
    <version>${cas.version}</version>
</dependency>
<!-- MySQL JAR 包 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.29</version>
</dependency>

7、修改applicaiton.properties配置

##
# 普通MD5用户jdbc验证
##
#配置数据库连接
cas.authn.jdbc.query[0].driverClass=com.mysql.cj.jdbc.Driver
cas.authn.jdbc.query[0].url=jdbc:mysql://localhost:3306/leecx?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
cas.authn.jdbc.query[0].user=root
cas.authn.jdbc.query[0].password=root
#添加jdbc认证
cas.authn.jdbc.query[0].sql=SELECT * FROM sys_user WHERE USER_NAME = ?
#哪个字段作为密码字段
cas.authn.jdbc.query[0].fieldPassword=PASSWORD
#哪个字段作为过期字段 0:未过期  1:已过期
cas.authn.jdbc.query[0].fieldExpired=EXPIRED
#哪个字段作为是否可用字段 0:未禁用  1:已禁用
cas.authn.jdbc.query[0].fieldDisabled=STATUS
#MD5设置
cas.authn.jdbc.query[0].passwordEncoder.type=DEFAULT
cas.authn.jdbc.query[0].passwordEncoder.characterEncoding=UTF-8
cas.authn.jdbc.query[0].passwordEncoder.encodingAlgorithm=MD5

8、配置tomcat
cas服务端、客户端搭建
cas服务端、客户端搭建

9、启动项目,访问http://localhost:8080/cas_overlay_war_exploded/login
cas服务端、客户端搭建

10、自定义页面

复制cas-server-webapp-tomcat下的templates到resources下,不要修改文件名称

页面使用thymeleaf模板语法,可参考链接里的第一个链接
cas服务端、客户端搭建

cas客户端搭建

1、建立一个springboot项目

2、引入依赖

<dependency>
    <groupId>org.jasig.cas.client</groupId>
    <artifactId>cas-client-support-springboot</artifactId>
    <version>3.6.4</version>
</dependency>

3、在启动类上添加@EnableCasClient注解

4、修改application.properties

server.port=8082

cas.server-url-prefix=http://localhost:8080/cas_overlay_war_exploded
cas.server-login-url=${cas.server-url-prefix}/login
cas.client-host-url=http://localhost:${server.port}
cas.validation-type=cas3
cas.single-logout.enabled=true

5、写个测试代码测试一下

@Controller
public class TestController {

    @Autowired
    CasClientConfigurationProperties casProps;

    @ResponseBody
    @RequestMapping("/sso-test1")
    public String test1(HttpSession session) {
        Assertion assertion = (Assertion) session.getAttribute(AbstractCasFilter.CONST_CAS_ASSERTION);
        AttributePrincipal principal = assertion.getPrincipal();
        String loginName = principal.getName();
        return "sso-test1,当前登录账户" + loginName;
    }

    /**
     * 退出 后自动重定向自定义接口
     */
    @RequestMapping("/system/logout1")
    public String logout1(HttpServletRequest request) {
        HttpSession session = request.getSession();
        session.invalidate();
        return "redirect:" + casProps.getServerUrlPrefix() + "/logout?service="+ casProps.getClientHostUrl()+"/system/logoutSuccess";

    }

    /**
     * 退出成功页
     */
    @RequestMapping("/system/logoutSuccess")
    @ResponseBody
    public String logoutSuccess() {
        return "test2成功退出!";
    }
}

6、访问http://localhost:8082/sso-test1

会跳转到cas登录页,登录成功后成功访问

参考链接:

https://www.cnblogs.com/hooly/p/12784397.html

https://www.cnblogs.com/kgdxpr/p/9933106.html

https://blog.csdn.net/bigdata_dog/article/details/123896404文章来源地址https://www.toymoban.com/news/detail-693598.html

到了这里,关于cas服务端、客户端搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 若依微服务集成CAS,实现单点登录

    若依(RuoYi)微服务是一款基于Spring Cloud Alibaba开发的企业级微服务框架,采用前后端分离方式,使用了常用的微服务组件,如Feign、Nacos、Sentinel、Seata等,提供了丰富的微服务治理功能,如服务注册、发现、路由、负载均衡、熔断降级、限流等。借助若依微服务框架可以让我

    2024年02月12日
    浏览(42)
  • 基于Unity客户端与服务端实现登录与注册以及多人在线聊天

    1.在Unity下,创建一个GameManager空对象,用于启动客户端连接以及实例化一个登录页面LoginView的Prefab,并将脚本LoginView挂载在上面。 2.创建一个Client类,用于客户端向服务端发起连接请求,并且发送给服务端消息以及接收服务端的响应 3.创建一个脚本LoginView挂载在LoginView对象上

    2024年04月16日
    浏览(51)
  • EasyConnect 客户端版本与服务器不匹配,循环下载

    本人为一个公司运维人员,经常对接不同的客户环境,电脑上也安装了很多vpn软件,其中 EasyConnect 最常用的软件之一。 某客户提供了一个 EasyConnect 连接地址,用户密码等信息。在使用我本地已经安装好的EasyConnect 软件过程中。遇到了输入 vpn地址,提示客户端版本与服务器

    2024年02月01日
    浏览(77)
  • 服务器文件上传后,客户端下载-webscoket一对一

    主要端末:小程序 云服务器 客户端A 客户端B 客户端C 流程: 1.小程序用户将文件通过小程序上传至云服务器,同时发送一个websocket,内部端口 2.云服务器与客户端ABC建立webscoket连接 3.当小程序用户需要上传到指定的客户端A电脑上的时候,我们通过webscoket只针对客户端A发送指

    2024年02月14日
    浏览(37)
  • Nginx HTTP/3服务器-客户端环境搭建

    一、 NGINX 服务器介绍: NGINX是一个高性能的开源Web服务器,也可用作反向代理服务器、负载均衡器和HTTP缓存。它由俄罗斯的程序员Igor Sysoev创建,并于2004年首次公开发布。NGINX的设计重点是高性能、高并发和低内存消耗,使其成为了现代Web架构中的关键组件之一。 NGINX的一些

    2024年03月11日
    浏览(58)
  • 20230904 QT客户端服务器搭建聊天室

    Ser Cli

    2024年02月09日
    浏览(39)
  • 用C语言搭建TCP服务器/客户端

    1.TCP流程图 2.TCP编程 服务器 客户端         以上就是用c语言搭建的tcp服务器和客户端,IP地址的地方可以根据自己本机的IP地址去修改(在命令提示符中可以使用ifconfig命令查看本机IP地址),端口号用的是6666,也可自己修改,但是IP地址和端口号服务器和客户端必须一至。

    2024年02月09日
    浏览(45)
  • 【Android】MQTT入门——服务器部署与客户端搭建

    MQTT(Message Queuing Telemetry Transport) 是一种基于发布/订阅模式的轻量级消息传输协议,专门针对低带宽、和不稳定网络环境的物联网应用而设计,它可以用极少的代码为互联网设备提供实时可靠的消息服务。 MQTT 协议主要用于物联网和移动设备等资源有限的场景中,其中包括

    2024年02月04日
    浏览(83)
  • QT实现TCP通信(服务器与客户端搭建)

    创建一个QTcpServer类对象,该类对象就是一个服务器 调用listen函数将该对象设置为被动监听状态,监听时,可以监听指定的ip地址,也可以监听所有主机地址,可以通过指定端口号,也可以让服务器自动选择 当有客户端发来连接请求时,该服务器会自动发射一个newConnection信号

    2024年02月09日
    浏览(56)
  • NFS服务器简介、在Linux上搭建NFS服务器和客户端,使用autofs进行NFS客户端自动挂载和卸载详解

    目录 一.NFS服务器简介 1.含义简介: 2.工作原理简介: 3.RPC服务与NFS服务配合使用 二.NFS配置文件参数命令介绍 1.主配置文件/etc/exports 2.日志文件/var/lib/nfs/ 3.showmount命令 三.主配置文件/etc/exports挂载写法 1.配置nfs服务端和客户端 2.windows客户端挂载测试 3.权限介绍 (1)rw/ro,服

    2024年02月04日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包