CAS代理服务配置(二)

11 篇文章 0 订阅
2 篇文章 0 订阅

四、测试页面

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

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值