网上找到的玩法都是用 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. 常见函数 ,过滤函数 直接导入使用 ,filters.js 文件 批量注册过滤器

    // import parseTime, formatTime and set to filter /** * Show plural label if time is plural number * ...

  2. 017 Python 流程控制之 if 判断

    博客配套视频链接: https://space.bilibili.com/383551518?spm_id_from=333.1007.0.0 b 站直接看 配套 github 链接:https:// ...

  3. manim边做边学--有向图

    有向图和上一篇介绍的无向图基本一样,唯一的区别在于有向图的边有方向性,它表示的是顶点之间的单向或依赖关系. 有向图G一般表示为:G=<V,E>.和无向图一样,V是顶点集合,E是边的集合. ...

  4. Kubernetes 备份容灾服务产品体验教程

    作者:尹珉,KubeSphere 社区用户委员会杭州站站长 前言 Kubernetes 集群天生自带自愈功能,但是往往有些意外情况使自愈功能不起作用,比如:公司同事把某个 namespace 删除.存 ...

  5. AI For Everyone_Week_1 By Andrew NG 课程英文

    AI For Everyone__Week__1 By Andrew NG 1 Introduction Welcome to AI for everyone. AI is changing the ...

  6. 指针进阶(C语言终)

    1. sizeof和strlen的对比 1.1 sizeof 在学习操作符的时候,我们学习了sizeof , sizeof 计算变量所占内存内存空间大小的,单位是 字节,如果操作数是类型的话,计算的是 ...

  7. 工作中的技术总结_Thymeleaf插件_关于th:if 、th:with、th:replace和th:fragment的一些事 _20210825

    工作中的技术总结_Thymeleaf _20210825 1.值取为空的情况:不能使用 th:if 进行条件渲染(因为是伪条件渲染,不管怎样元素都是先渲染到DOM再决定是否显示:个人这么认为不一定准确 ...

  8. Socket编程与IO多路复用

    0.引言 本篇博客将从socket模型为起点,引入IO多路复用的学习. 1.Socket模型 1.1.Socket的诞生 Socket的诞生背景: Socket最早出现在20实际80年代的Unix操作 ...

  9. floyd 算法——P1119 灾后重建

    floyd 算法 是图论中较为简单的最短路算法,但在某些方面远超最短路范围. 算法思路 定义 \(f[x][y]\) 为 \(x\) 到 \(y\) 节点的最短路径. 初始化:若存在边 \((x,y) ...

  10. 6、oracle网络(监听)

    oracle包含 1.软件 2.数据库 3.实例 4.监听(listener) 监听的特点 可以独立启动,就是说,数据库没有启动,监听可以启动:数据库启动,监听也可以不启动:数据库启动,监听也启动 监 ...