网上找到的玩法都是用 josso 给的命令行工具加工 tomcat,这个办法有不少问题:

1. tomcat8.5 还不支持

2. 很难配置,这让我险些放弃 tomcat8.5,用 tomcat8,但最终都没成功

3. 往lib里塞很多东西,比如说 spring,如果 webapp 用的版本和它塞进 tomcat lib 里版本不一致就会发生灾难

通过一番摸索,现在找到另一种做法,这种做法支持任意版本tomcat,不需要动tomcat本身。

这个做法是在 webapp 级别实施的。

实施办法:

web.xml(可能也可以修改 tomcat/conf/web.xml 达到全局实施)

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>test</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list> <!-- Setup JOSSO Servlet Filter -->
<filter>
<filter-name>JOSSOGenericServletFilter</filter-name>
<filter-class>org.josso.servlet.agent.GenericServletSSOAgentFilter</filter-class>
</filter> <filter>
<filter-name>JOSSOWebAccessControlServletFilter</filter-name>
<filter-class>org.josso.agent.http.WebAccessControlFilter</filter-class>
</filter> <!-- Optional, you can export the security context information (roles, user)
to HTTP headers Usefull for web applications that don't use JEE security
<filter> <filter-name>JOSSOSecurityContextExporterServletFilter</filter-name>
<description>JOSSO Security Context Exporter Servlet Filter</description>
<filter-class>org.josso.agent.http.SecurityContextExporterFilter</filter-class>
</filter> --> <filter-mapping>
<filter-name>JOSSOGenericServletFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> <filter-mapping>
<filter-name>JOSSOWebAccessControlServletFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> </web-app>

josso-agent-config.xml, 放在 webapp classes 里。

<?xml version="1.0" encoding="UTF-8"?>
<s:beans xmlns:s="http://www.springframework.org/schema/beans"
xmlns:gen-svlt="urn:org:josso:agent:generic-servlet"
xmlns:agent="urn:org:josso:agent:core"
xmlns:protocol="urn:org:josso:protocol:client"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <gen-svlt:agent-native name="josso-svlt-agent" sessionAccessMinInterval="1000" > <gatewayLoginUrl>http://localhost:8080/josso/signon/login.do</gatewayLoginUrl>
<gatewayLogoutUrl>http://localhost:8080/josso/signon/logout.do</gatewayLogoutUrl> <gatewayServiceLocator>
<protocol:ws-service-locator endpoint="localhost:8080" />
</gatewayServiceLocator> <configuration>
<agent:agent-configuration>
<agent:partner-apps>
<agent:partner-app id="test" context="/test"/>
</agent:partner-apps>
</agent:agent-configuration>
</configuration> <parametersBuilders>
<agent:vhost-parameters-builder/>
<agent:appctx-parameters-builder/>
</parametersBuilders> <!-- <automaticoLoginStrategies> -->
<!-- <agent:default-automaticlogin-strategy mode="SUFFICIENT"/> -->
<!-- </automaticoLoginStrategies> --> </gen-svlt:agent-native> </s:beans>

在TOMCAT8.5使用 JOSSO 单点登录(Agent 端)的更多相关文章

  1. [精华][推荐]CAS SSO单点登录服务端客户端学习

    1.通过下载稳定版本的方式下载cas的相关源码包,如下: 直接选择4.2.1的稳定代码即可 2.我们项目中的版本版本使用maven apereo远程库去下载 通过远程maven库下载cas-serve ...

  2. [精华][推荐]CAS SSO单点登录服务端客户端实例

    1.修改server.xml文件,如下: 注意: 这里使用的是https的认证方式,需要将这个配置放开,并做如下修改: <Connector port="8443" prot ...

  3. cas 单点登录服务端客户端配置

    首先,下载 cas-server-3.5.2-release http://pan.baidu.com/s/1GJ8Gs cas-client-3.2.1-release http://pan.bai ...

  4. SSO-CAS实现单点登录服务端

    目录 CAS-SSO 一.单点登录-CAS 二.下载搭建CAS 1. 下载 CAS 5.3 2. 导入IDEA 3. 打包war 3. war包部署到Tomcat 4. 启动Tomcat,访问 htt ...

  5. CAS 单点登录 移动端获取TGT、ST 已经移动端登录页面不进行跳转的设置

    一.设置移动客户端验证ST通过后,页面不进行302重定向跳转 修改web.xml <!--**************************************************** ...

  6. JAVA实现同域单点登录

    所用技术: SSM MySQL Maven Tomcat8.0 同域单点登录详细步骤如下: 1.首先写一个登录界面(隐藏域为暂存地址) 2.判断用户密码是否正确,正确则添加cookie,否则返回错误页 ...

  7. CAS单点登录(SSO)服务端的部署和配置---连接MySQL进行身份认证

    一.修改系统host,加入 127.0.0.1 server.test.com127.0.0.1 client1.test.com127.0.0.1 client2.test.com 二.安装grad ...

  8. 单点登录SSO:概述与示例

    目录 概述 演示一:零改造实施单点登录 演示二: 单点注销 演示三:集成AD认证 演示四:客户端单点登录 演示五:移动端单点登录 单点登录SSO概述 本系列将由浅入深的,带大家掌握最新单点登录SSO方 ...

  9. cas单点登录实现

    前言 此文为记录单点登录实现过程,包括cas服务端和客户端的定制扩展 服务端 单点登录服务端采用cas,以cas-server-webapp版本号为3.5.2.1为基础进行定制扩展实现. 定制实现的源 ...

  10. [转载]单点登录SSO:概述与示例

    原文地址: https://www.cnblogs.com/baibaomen/p/sso.html 目录 概述 演示一:零改造实施单点登录 演示二: 单点注销 演示三:集成AD认证 演示四:客户端单 ...

随机推荐

  1. Oracle数据库安装配置详细教程汇总(含11g、12c、18c、19c、21c)

    不论你是数据库小白,还是久经沙场的技术专家,你接触和运维Oracle数据库的第一步可能都是安装配置.并且随着软硬件的升级.替换以及业务场景的变化,数据库安装也将是你常常会进行的操作之一. 这里先为大家 ...

  2. 2022年1月国产数据库排行榜:TiDB霸榜两年势头不减,openGauss与OceanBase分数大涨

    奎钩粲粲光华动,群玉森森气象新.国产数据库行业在经历了2021年的躬行实践之后,产品.服务.生态等取得了蓬勃发展.从2022年1月份的国产数据库流行度排行榜上,我们可以看到,相较于去年12月份,榜单上 ...

  3. npm install报错 Error: EACCES: permission denied

    报错内容 Unable to save binary /root/packageadmin/spring-boot-admin-2.1.6/spring-boot-admin-server-ui/no ...

  4. WebAssembly 基础以及结合其他编程语言

    0x00 WebAssembly 基础 详情参考<WebAssembly | MDN> (1)概述 WebAssembly 简称 WASM 或 WA,是一种新的编码方式,可以在现代的 We ...

  5. SQL语法-列的新增、删除

    MySQL的语法: 新增列 ALTER TABLE `xxdb`.`xxtable` ADD COLUMN `xx_flag` varchar(1) NULL; 删除列 ALTER TABLE `xx ...

  6. C#使用 MailKit 收发邮件

    目录 获取QQ邮箱授权码 安装 MailKit 配置邮件服务器信息 实现邮件收发方法 测试邮件收发 参考文章 获取QQ邮箱授权码 打开QQ邮箱,进入 设置->账号 页面: 在 POP3/IMAP ...

  7. 操作系统_MPI程序设计

    一.实验环境搭建 本次MPI集群环境是在电脑中安装mpi的sdk和应用程序后在visual studio 2022 上配置MPI环境. VC++目录--->包含目录--->添加MPI的in ...

  8. Web渗透03_扫描技术

    前言 在获取目标主机的各类信息时,有一些综合工具可以一键扫描完成,大大方便了测试效率.但扫描结果并非100%的正确,需要我们的判断. namp NMAP(Network Mapper)是一款开放源代码 ...

  9. SpringBoot数据访问,配置数据源

    配置文件目录 配置数据源jdbc版本 JDBC(.tomcat.jdbc.pool.DataSource作为数据源) <?xml version="1.0" encoding ...

  10. 用ffmpeg压缩视频、提高声音、加水印 命令记录

    ffmpeg -i in.mp4 -i LOGOW.png -filter_complex overlay=W-w:56 -c:v libx264 -x264-params "crf=35& ...