`
ruijf
  • 浏览: 69513 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

CAS代理服务配置(二)

阅读更多

四、测试页面

在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模式)

 

 

分享到:
评论

相关推荐

    cas代理模式代码示例

    完成如下功能 1、实现代理模式的相关配置 2、实现获取pgt,通过pgt生成pt,调用被代理的服务 3、实现二次调用服务的最佳实践

    cas-proxy认证

    cas-proxy配置相关文档,文档内含详细配置方式

    gocas:Golang 中的极简 CAS 服务器

    这里目前有效: 基本工作流程(/login、/validate、/serviceValidate) 信任身份验证(默认禁用) /logout(暂时没有 SLO) 准确的服务主机的简单白名单(通配符可能有一天会出现) REST API CAS代理简单实现中间件...

    connect-cas2:CAS(中央身份验证服务)客户端的NodeJS实现

    CAS(中央身份验证服务)是Web的单点登录/单点退出协议。 我们假设您已经熟悉CAS协议,如果不熟悉,请在使用前阅读本。 安装 npm install connect-cas2 特征 非代理模式CAS登录/注销 代理模式CAS登录/注销,获取...

    nginx反向代理导致session失效的问题解决

    两边通过同一个nginx进行反向代理,nginx配置大致如下, location /health/ { proxy_pass http://192.168.40.159:8081/health/; #无问题的配置 } location /health-dev/ { proxy_pass ...

    Apache+多个Tomcat 服务器集群配置

    这里主要采用了代理的方法,就这么简单。 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 ...

    cas-java-client

    如果您希望执行代理身份验证,请在同一文件Cas20ProxyReceivingTicketValidationFilter CAS客户端过滤器切换为AuthenticationFilter和Cas20ProxyReceivingTicketValidationFilter 。 ##建造###蚂蚁构建调整文件以...

    grafana-authentication-proxy:Grafana 身份验证代理

    grafana 身份验证代理使用和 Express 在 Google OAuth2、基本身份验证或 CAS 身份验证背后最新的和 。 Elasticsearch、grafana 和用户客户端之间的代理支持基本认证保护的 Elasticsearch,只有 grafana-...

    spring security 参考手册中文版

    配置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.运行认证...

    云服务器数据安全保护软件项目询价文件.doc

    云服务器数据安全保护软件项目询价文件 一、项目编号:计算机学院2017【009】号 二、项目名称:云服务器数据安全保护软件 三、采购预算:12.1万元 四、采购设备清单与技术参数 " 指标项 "需求说明 " "系统环境 " ...

    spring in action英文版

     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 ...

    java开源包4

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    esup-filemanager:ESUP 文件管理器是一个 JSR286 Portlet。 Esup 文件管理器允许用户对其 HomeDirs 执行文件管理

    ESUP 文件管理器 Esup 文件管理器允许用户对其主目录进行文件管理。...4 个身份验证模块:无身份验证、配置文件中给出的身份验证用户名/密码、带有用户表单的身份验证用户名/密码、身份验证代理 cas(使用 ca

    myprofile:型材乔治

    因此,它提出了以下主要假设: 一台机器,如所述,基于“ 3Tomcat”的设置, 已配置为绑定到本地主机上的端口8180(代理/ cas),8280(所有其他webapp),8380(geoserver)的tomcat连接器, HTTP方案是主要方案...

    MaxKey单点登录认证系统-其他

    CAS地址优化统一配置到常量类CasConstants 注销空指针异常BUG OAuth2地址优化统一配置常量类OAuth2Constants OAuth2 Token多次调用时认证转换的BUG ExtendApi标准优化 增加基于时间签名的ExtendApi适配器 返回数据...

    【白雪红叶】JAVA学习技术栈梳理思维导图.xmind

    服务应用 资源池 数据库 大数据与nosql zookeeper hadoop hbase mongodb strom spark java语言 语言语法基础 异常 泛型 内部类 反射 序列化 nIo 匿名类 包装类 优先级 引用 语言工具类库 ...

    coursetable:为CourseTable网站提供动力的代码

    /proxy :用于在服务之间中继连接的代理配置(例如,身份验证标头,CAS cookie等) /docker :用于在Docker中一起运行所有内容的配置文件。 /legacy :旧站点中的静态HTML文件。 /scripts和/sysadmin :管理脚本...

    authelia:适用于Web应用程序的Single Sign-On Multi-Factor门户

    Authelia可以作为独立服务从 , ,也可以使用或来利用入口控制器和入口配置进行安装。 非常感谢您协助发布。 这是Authelia的门户网站的样子功能概要以下是主要可用功能的列表: 第二种因素: 带有 。 使用。 带有。...

    java开源包1

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    java开源包11

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

Global site tag (gtag.js) - Google Analytics