四、测试页面
在proxy.test.com下部署个index.jsp,代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" import="java.util.*" pageEncoding="utf-8"%>
<%@ page import="org.jasig.cas.client.validation.*,org.jasig.cas.client.util.*,org.jasig.cas.client.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>client one</title>
</head>
<body>
sso cas client one !!! 单点登陆客户端一 <br>
<p>hello : ${_const_cas_assertion_.principal.name}</p>
<a href="http://backend.test.com/personal">个人中心</a>
</body>
<script type="text/javascript">
$={
isIE : /MSIE/i.test(navigator.userAgent),
json2str:function(o,f){
var r = [];
if(o===undefined || o===null) return "null";
if(typeof o =="string") return "\""+o.replace(/([\'\"\\])/g,"\\$1").replace(/(\n)/g,"\\n").replace(/(\r)/g,"\\r").replace(/(\t)/g,"\\t")+"\"";
if(typeof o == "object"){
if(!o.sort){
for(var i in o){
r.push((f?"\"" + i+"\":":i+":")+this.json2str(o[i],f));
}
if(this.isIE && !/^\n?function\s*toString\(\)\s*\{\n?\s*\[native code\]\n?\s*\}\n?\s*$/.test(o.toString))
r.push("toString:"+o.toString.toString());
r="{"+r.join()+"}";
}
else{
for(var i =0;i<o.length;i++)
r.push(this.json2str(o[i],f));
r="["+r.join()+"]";
}
return r;
};
return o.toString();
}
}
function showmsg(e){
alert($.json2str(e));
}
</script>
<%
String serviceUrl = "http://backend.test.com/test.do?jsback=showmsg";
final Assertion assertion=(Assertion)session.getAttribute(AbstractCasFilter.CONST_CAS_ASSERTION);
final String proxyTicket = assertion.getPrincipal().getProxyTicketFor(serviceUrl);
request.setAttribute("serviceUrl",serviceUrl);
request.setAttribute("proxyTicket",proxyTicket);
%>
<script type="text/javascript" src="${serviceUrl}&ticket=${proxyTicket}"></script>
</html>
说明:1.http://backend.test.com/personal、http://backend.test.com/test.do两个接口多需要身份,一个返回页面,一个返回json
2.该页面测试重定向sso.test.com进行单点登陆
3.页面调用了backend service的一个接口,并将结果显示(cas2.0代理认证模式,此时用户并没有打开backend service)
4.点击“个人中心”进入backend service自动有身份(cas 1.0模式)
分享到:
相关推荐
完成如下功能 1、实现代理模式的相关配置 2、实现获取pgt,通过pgt生成pt,调用被代理的服务 3、实现二次调用服务的最佳实践
cas-proxy配置相关文档,文档内含详细配置方式
这里目前有效: 基本工作流程(/login、/validate、/serviceValidate) 信任身份验证(默认禁用) /logout(暂时没有 SLO) 准确的服务主机的简单白名单(通配符可能有一天会出现) REST API CAS代理简单实现中间件...
CAS(中央身份验证服务)是Web的单点登录/单点退出协议。 我们假设您已经熟悉CAS协议,如果不熟悉,请在使用前阅读本。 安装 npm install connect-cas2 特征 非代理模式CAS登录/注销 代理模式CAS登录/注销,获取...
两边通过同一个nginx进行反向代理,nginx配置大致如下, location /health/ { proxy_pass http://192.168.40.159:8081/health/; #无问题的配置 } location /health-dev/ { proxy_pass ...
这里主要采用了代理的方法,就这么简单。 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so ...
如果您希望执行代理身份验证,请在同一文件Cas20ProxyReceivingTicketValidationFilter CAS客户端过滤器切换为AuthenticationFilter和Cas20ProxyReceivingTicketValidationFilter 。 ##建造###蚂蚁构建调整文件以...
grafana 身份验证代理使用和 Express 在 Google OAuth2、基本身份验证或 CAS 身份验证背后最新的和 。 Elasticsearch、grafana 和用户客户端之间的代理支持基本认证保护的 Elasticsearch,只有 grafana-...
配置CAS以获取代理授予票证 249 使用代理票证调用无状态服务 250 32.3.4代理票证认证 251 33. X.509认证 253 33.1概述 253 33.2将X.509身份验证添加到您的Web应用程序 253 33.3在Tomcat中设置SSL 254 34.运行认证...
云服务器数据安全保护软件项目询价文件 一、项目编号:计算机学院2017【009】号 二、项目名称:云服务器数据安全保护软件 三、采购预算:12.1万元 四、采购设备清单与技术参数 " 指标项 "需求说明 " "系统环境 " ...
11.2.4 基于Acegi和Yale CAS实现单次登录 11.3 控制访问 11.3.1 访问决策投票 11.3.2 决定如何投票 11.3.3 处理投票弃权 11.4 保护Web应用程序 11.4.1 代理Acegi的过滤器 11.4.2 ...
PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...
ESUP 文件管理器 Esup 文件管理器允许用户对其主目录进行文件管理。...4 个身份验证模块:无身份验证、配置文件中给出的身份验证用户名/密码、带有用户表单的身份验证用户名/密码、身份验证代理 cas(使用 ca
因此,它提出了以下主要假设: 一台机器,如所述,基于“ 3Tomcat”的设置, 已配置为绑定到本地主机上的端口8180(代理/ cas),8280(所有其他webapp),8380(geoserver)的tomcat连接器, HTTP方案是主要方案...
CAS地址优化统一配置到常量类CasConstants 注销空指针异常BUG OAuth2地址优化统一配置常量类OAuth2Constants OAuth2 Token多次调用时认证转换的BUG ExtendApi标准优化 增加基于时间签名的ExtendApi适配器 返回数据...
服务应用 资源池 数据库 大数据与nosql zookeeper hadoop hbase mongodb strom spark java语言 语言语法基础 异常 泛型 内部类 反射 序列化 nIo 匿名类 包装类 优先级 引用 语言工具类库 ...
/proxy :用于在服务之间中继连接的代理配置(例如,身份验证标头,CAS cookie等) /docker :用于在Docker中一起运行所有内容的配置文件。 /legacy :旧站点中的静态HTML文件。 /scripts和/sysadmin :管理脚本...
Authelia可以作为独立服务从 , ,也可以使用或来利用入口控制器和入口配置进行安装。 非常感谢您协助发布。 这是Authelia的门户网站的样子功能概要以下是主要可用功能的列表: 第二种因素: 带有 。 使用。 带有。...
PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...
PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...