锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲变态另类一区二区三区,精品亚洲麻豆1区2区3区,337p日本欧洲亚洲大胆裸体艺术http://m.tkk7.com/zhouzhou163/category/16974.html娣卞湷,涓撴敞浜巎ava ee鎶鏈?鍖呮嫭struts,jsf,webwork,spring,hibernate,ibatiszh-cnTue, 27 Feb 2007 12:33:09 GMTTue, 27 Feb 2007 12:33:09 GMT60SSO瀛︿範鏈塁AS SSO閰嶇疆http://m.tkk7.com/zhouzhou163/articles/79625.htmlallenzhouallenzhouTue, 07 Nov 2006 07:37:00 GMThttp://m.tkk7.com/zhouzhou163/articles/79625.htmlhttp://m.tkk7.com/zhouzhou163/comments/79625.htmlhttp://m.tkk7.com/zhouzhou163/articles/79625.html#Feedback0http://m.tkk7.com/zhouzhou163/comments/commentRss/79625.htmlhttp://m.tkk7.com/zhouzhou163/services/trackbacks/79625.htmlhttp://www.ja-sig.org/products/cas/
鐩墠SSO搴旂敤杈冧負騫挎硾錛孖BM,BEA閮芥湁鑷繁鍟嗕笟鏂規錛屼竴鑸鏈塒ortal錛岄兘浼氬簲鐢⊿SO.
Sun鎴愮珛浜哋penSSO.錛屽湪榪涜SSO鐨勫紑鍙戙?/div>
.net涓昏鏈塸assport鏂規
鍙︽湁涓涓猨ava寮婧愮殑JOSSO錛屼笉榪囩綉涓婅瘎浠蜂笉楂橈紝
CAS鐩墠璁ㄨ寰楁瘮杈冨鐨勫湴鏂規槸BEA騫垮窞UserGroup錛屽湴鍧涓?
鐗堜富涓篋avid錛宩ava瀹夊叏淇℃伅鐨勪笓瀹訛紝瀵筩as鏈夊緢娣辯殑鐮旂┒錛屼粬鐨刡log涓?/div>
褰撶劧SSO涔熷彲浠ヨ嚜宸辯紪鍐欙紝鍏抽敭鏄涓簲鐢ㄥ浣曞叡浜敤鎴蜂俊鎭強鏁版嵁瀹夊叏錛屼互鍙婂浣曡法璇█錛岃法鍩熺瓑.
鍙互鍙傝僨ins鐨勪竴綃囨枃绔?http://fins.javaeye.com/blog/31947)鍜?/div>
浠ヤ笂閮芥槸鍩轟簬java鐨勫疄鐜?
.net涓殑鑷繁緙栧啓瀹炵幇鏈?a >http://www.asp121.com/wlbc/23/430.shtml
CAS鍙彁渚涗竴涓畝鍗曠殑韜垎璁よ瘉錛岃璇佹柟寮忓緢綆鍗曪紝鍙鐢ㄦ埛鍚嶅拰瀵嗙爜鐩稿悓錛屽嵆閫氳繃錛屽鏋滃簲鐢ㄦ暟鎹簱楠岃瘉錛岃繕闇瑕佽嚜宸辯紪鍐欍傛巿鏉冨拰鏉冮檺娌℃湁鎻愪緵錛岀暀緇欏瓙緋葷粺鍘誨仛銆?/div>
CAS demo涓殑asp渚嬪瓙錛屽彲鑳戒笉澶у畬鍠勶紝涓昏鍘熷洜鍙互鏄紝鍦╰omcat涓緩绔嬩簡鍜宑asserver鐨勪俊浠伙紝浣嗗湪IIS榪樻病鏈夈傞渶瑕佸湪IIS涓緩绔嬭瘉涔︼紝鍔犲叆SSL.濡傞渶瑕佹洿濂界殑搴旂敤闇瑕佸浜嗚ВSSL鍜孭KI錛屽強SSL鍦–asServer鍜孋asClient涔嬮棿ticket鐨勪氦鎹?
濡傛灉搴旂敤CAS錛岃繕闇瑕佸仛鐨勬槸錛屽浣曞皢yale鐨勭櫥褰曟ā鍧楋紝瀹氬埗鎴愯嚜宸卞簲鐢ㄧ殑Login妯″潡.
鍦╰omcat涓厤緗瓹AS榪囩▼濡備笅:
聽1:寤虹珛璇佷功
keytool -genkey -alias tomcat -keyalg RSA聽 -keystore tomcat.keystore
鍦ㄨ緭鍏ョ敤鎴峰悕鏃訛紝濡傛灉鏄湰鏈鴻杈撳叆localhost錛屽惁鍒欒緭鍏ュ煙鍚?/div>
2:瀵煎叆璇佷功
聽聽聽聽 keytool -export -file myserver.cert -alias tomcat ?keystore tomcat.keystore
3:瀵煎叆鍒癑VM涓?/div>
聽聽聽聽 keytool -import -keystore d:\jdk\jre\lib\security\cacerts(鏍規嵁jdk鐨勫畨瑁呬綅緗緭鍏? -file myserver.cert -alias tomcat
浠ヤ笂鎿嶄綔鏈濂芥斁鍦╰omcat鐨刪ome鐩綍涓嬪緩绔嬶紝闇瑕佺啛鎮塲dk鐨勫懡浠?keytool
寮鏀維SL 8443绔彛
緙栬緫tomcat鐨勯厤緗枃浠秙erver.xml錛屽幓鎺変笅闈SL Connector鐨勬敞閲?淇敼涓哄涓嬶細
<Connector port="8443"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 enableLookups="false" disableUploadTimeout="true"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 acceptCount="100" debug="0" scheme="https" secure="true"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 clientAuth="false" sslProtocol="TLS" >
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 聽聽 <Factory className="org.apache.coyote.tomcat5.CoyoteServerSocketFactory"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 keystoreFile="jama.keystore"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 keystorePass="xx" clientAuth="false" protocol="TLS" />
</Connector>
keystorePass涓哄緩绔嬭瘉涔︾殑瀵嗙爜
keystoreFile涓哄緩绔嬭瘉涔︾殑鏂囦歡
5.灝咰AS server3.0.2涓璽arget鐩綍涓殑CAS.war澶嶅埗鍒?tomcat_home%\webapps鐩綍涓?
錛堟垨鑰匼cas-server-2.0.12\lib鐩綍涓殑CAS.war涔熷彲浠ワ級
6.灝哻as-client-java-2.1.1\dist\casclient.jar鏂囦歡澶嶅埗鍒?tomcat_home%\webapps\servlets-examples\WEB-INF\lib涓?娌℃湁lib鏂囦歡澶癸紝鑷繁寤轟竴涓?
淇敼tomcat鑷甫鐨剆ervlet-examples鐨剋eb.xml, 鍔犲叆cas鐨勮繃婊ゅ櫒:
<filter>
聽聽聽 <filter-name>CASFilter</filter-name>
聽聽聽 <filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
聽聽聽 <init-param>
聽聽聽聽聽聽聽 <param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
聽聽聽聽聽聽聽 <param-value>https://localhost:8443/cas/login</param-value>
聽聽聽 </init-param>
聽聽聽 <init-param>
聽聽聽聽聽聽聽 <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
聽聽聽聽聽聽聽 <param-value>https://localhost:8443/cas/proxyValidate</param-value>
聽聽聽 </init-param>
聽聽聽 <init-param>
聽聽聽聽聽聽聽 <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
聽聽聽聽聽聽聽 <param-value>localhost:8080</param-value>
<!鈥昹ocalhost:8080涓鴻嚜宸辯殑鏈嶅姟鍣ㄥ悕
聽聽聽 </init-param>
</filter>
<filter-mapping>
聽聽聽 <filter-name>CASFilter</filter-name>
聽聽聽 <url-pattern>/*</url-pattern>
</filter-mapping>
6.鍚姩tomcat !,CAS.war鏂囦歡琚嚜鍔ㄥ湪webapps涓嬮噴鏀懼嚭CAS鐩綍
榪涘叆http://localhost:8080/servlets-examples, 琚嚜鍔ㄨ漿鍙戝埌CAS鐨勭櫥闄嗛〉闈?
杈撳叆鐩稿悓鐨勭敤鎴峰悕鍜屽瘑鐮侊紝涔嬪悗璺寵漿鍥炲師鏉ラ〉闈?/div>
娉ㄦ剰錛?/div>
鍦ㄥ埗浣滀竴涓嚜絳懼悕鐨刢redential浜? 鍦ㄧ敓鎴恔eystore鏂囦歡鐨勬椂鍊欏瘑鐮佹槸:changeit(榪欐槸tomcat榛樿鐨?,浣犵殑鍚嶅瓧涓瀹氳鏄?localhost,褰撶劧榪欐槸浣犻渶瑕佹妸CAS client鍜孋AS server鏀懼湪鍚屼竴鍙版満鍣ㄤ笂榪涜嫻嬭瘯鐢ㄧ殑
鍦ㄦ祻瑙堝櫒-宸ュ叿-internet閫夐」閲屽鍏yserver.cert鍚庡氨涓嶄細鍑虹幇瀹夊叏璀︽姤
IIS涓厤緗?/font>
灝哸sp demo鐨刢as.asp copy鍒版煇涓铏氭嫙鐩綍涓?鏈緥涓緩绔嬩簡涓涓櫄鎷熺洰褰晅est
淇敼cas.asp鍐呭錛岃綰㈣壊鍐呭
<%@ Language=JScript %>
<%
// Sample ASP code that uses CAS
// By Howard Gilbert
// If you logon, it says "Hello " followed by your userid
// For the Web server to talk to the CAS server, this code depends on the
// Microsoft ServerXMLHTTP control provided with MSXML. If the MS XML
// parser is not already installed on the IIS host machine,
// download version 3.0 SP1 or better from http://www.microsoft.com/xml
// Insert name of CAS Server at your location
//var CAS_Server = "https://secure.its.yale.edu/cas/servlet/";
var CAS_Server = "https://localhost:8443/cas/";聽 --cas楠岃瘉鏈嶅姟鍣ㄥ湴鍧
// Insert public name of IIS Server hosting this script
// Note: Request.ServerVariables("SERVER_NAME") or anything based on
// the HTTP "Host" header should NOT be used; this header is supplied by
// the client and isn't trusted. (--SB)
var MyServer = "http://192.168.0.11/test/";聽 //姝ゅ涓鴻櫄鎷熺洰褰曡礬寰?/strong>
聽聽聽聽聽聽聽聽聽聽聽聽聽 var http = Server.CreateObject("MSXML2.ServerXMLHTTP.4.0");
聽聽聽聽聽聽聽聽聽聽聽聽聽 var url =CAS_Server+"validate?ticket="+ticket+"&"+
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 "service="+MyServer+"HelloCas/default.asp";聽 //璁よ瘉閫氳繃鍚庤漿鍚戠殑欏甸潰
//榪欓噷杞悜HelloCas/default.asp 鎵浠ラ渶瑕佸湪test鐩綍涓緩绔婬elloCas鐩綍鍜宒efault.asp
聽聽聽聽聽聽聽聽聽聽聽聽聽 http.open("GET",url,false); // HTTP transaction to CAS server
聽聽聽聽聽聽聽聽聽聽聽聽聽 http.send();
聽聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽 var resp=http.responseText.split('\n'); // Lines become array members
聽聽聽聽聽聽聽聽聽聽聽聽聽 if (resp[0]=="yes")聽聽 // Logon successful
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 greeting=resp[1]; // get userid for message
聽聽聽聽聽聽聽聽聽聽聽聽聽 Session.Contents("Netid")=resp[1];聽聽聽聽聽 // Save for subsequent calls
聽聽聽聽聽聽 }
}
%>
<HTML>
<HEAD><title>CAS ASP Example application</title></HEAD>
<BODY>
<P>Hello <%=greeting%></P>
</BODY>
</HTML>
Asp.net涓皟鐢?
寤虹珛CASP.cs鏂囦歡錛屽唴瀹瑰涓?
鍦ㄥ叾瀹冨璋冪敤榪欎釜鏂囦歡.
/**
聽聽CASP.cs
CAS over ASP.NET!
聽 * Created by John Tantalo, john.tantalo@case.edu
聽* Case Western Reserve University
聽 *聽
聽 * Modification History:
聽*聽
聽 * 12/09/05 jnt5, created class
* 12/12/05 jnt5, removed cookie check
聽 * stores CASNetworkID in session instead of cache
聽* clears Page session variable after ticket verification
聽 * 12/13/05 jnt5, removed Page session variable
聽聽*聽 fixed bug which would cause loop due to incorrect service parameter
聽 * 04/04/06 jnt5, adapted serviceURL code courtesy Ali Cakmak
聽* 04/10/06 jnt5, added new comments
聽*聽
聽 * References:
聽 *聽
聽* http://wiki.case.edu/Central_Authentication_Service
聽 * https://clearinghouse.ja-sig.org/wiki/display/CAS/CAS+2.0+Protocol+Specification
聽 */
//浠ヤ笂涓烘寮忔枃浠?/div>
聽using System ;
聽using System.Web.UI ;
聽using System.Net ;
using System.IO ;
聽using System.Web.SessionState;
聽/**聽聽聽 璋冪敤鏂瑰紡
聽聽* CASP general usage: 浣跨敤鏂規硶銆
聽聽*聽
聽 *聽聽聽聽聽 private void Page_Load(object sender, System.EventArgs e)
聽 *聽聽聽聽聽 {
聽 *聽聽聽聽聽聽聽聽聽聽聽 String NetworkID = CASP.Authenticate( "https://login.case.edu/cas/login", "https://login.case.edu/cas/validate", this ) ;
聽*聽聽聽聽聽 }
聽*/
聽聽聽聽聽聽聽聽
public class CASP
聽{
聽聽聽聽 /**
聽聽聽聽聽 * Authenticates a user with the given login and validation pages. After authentication
聽聽聽聽聽聽聽聽 * the user's browser is redirected to the original page.
聽聽聽聽 */
聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽 public static String Authenticate( String LoginURL, String ValidateURL, Page Page )
聽聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 return Authenticate( LoginURL, ValidateURL, Page, Page.Request.Url.AbsoluteUri.Split('?')[0] ) ;
聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽 /**
聽聽聽聽聽聽聽聽 * Authenticates a user with the given login and validation pages. After authentication
聽聽聽聽聽聽聽聽 * the user's browser is redirected to the location given as the service URL.
聽聽聽聽聽聽聽聽聽 */
聽聽聽聽聽聽聽聽 public static String Authenticate( String LoginURL, String ValidateURL, Page Page, String ServiceURL )
聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if( Page.Session["CASNetworkID"] != null ) // user already logged in
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 return Page.Session["CASNetworkID"].ToString() ;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 else // user hasn't logged in
聽聽聽聽聽聽聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if( Page.Request.QueryString["ticket"] != null ) // ticket received
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 聽聽聽聽try // read ticket and request validation
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 StreamReader Reader = new StreamReader( new WebClient().OpenRead( ValidateURL + "?ticket=" + Page.Request.QueryString["ticket"] + "&service=" + ServiceURL ) ) ;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if( "yes".Equals( Reader.ReadLine() ) ) // ticket validated
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 // store network id in sesssion, return value
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 return (String) ( Page.Session["CASNetworkID"] = Reader.ReadLine() ) ;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 聽聽聽聽聽聽聽聽聽聽聽catch( WebException ) {}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }聽
聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 // ticket was invalid, or didn't exist, so request ticket
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Page.Response.Redirect( LoginURL + "?service=" + ServiceURL, true ) ;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 return null ;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽聽 }
聽}


allenzhou 2006-11-07 15:37 鍙戣〃璇勮
]]> 主站蜘蛛池模板: 国产精品二区三区免费播放心| 女人与禽交视频免费看| 国产亚洲精品资在线| 国产精品亚洲专区在线播放| 日韩精品视频免费网址| 亚洲人成自拍网站在线观看| 毛片免费观看视频| 亚洲国产精品无码久久久秋霞1 | 国产一区二区三区免费视频| 亚洲youwu永久无码精品 | 国产专区一va亚洲v天堂| 又粗又长又爽又长黄免费视频 | 亚洲成人免费网址| 亚洲专区中文字幕| 在线观看成人免费视频| 边摸边脱吃奶边高潮视频免费| 亚洲AV中文无码乱人伦在线视色| 五月天国产成人AV免费观看| 亚洲精品无码不卡在线播放HE| 波多野结衣免费一区视频 | 亚洲av无码一区二区三区不卡| 久久久国产精品无码免费专区| 久久久无码精品亚洲日韩蜜桃| 最好看最新的中文字幕免费| 国产成人精品日本亚洲专区6| 免费国产成人高清在线观看麻豆| 一本久久A久久免费精品不卡| 久久久久久久久亚洲| 毛片基地免费观看| 无码免费又爽又高潮喷水的视频| 久久国产亚洲观看| 日韩免费一区二区三区| 精品无码一级毛片免费视频观看| 国产AV无码专区亚洲Av| 97热久久免费频精品99| 最好2018中文免费视频| 亚洲av女电影网| 国产精品另类激情久久久免费| 久久久久久久久久免免费精品 | 久久亚洲国产视频| 永久免费毛片手机版在线看|