CAS SSO結合ASP

來源:互聯網
上載者:User
Dim casServer
 casServer = "localhost:8443/cas"

 'Declare additional variables used for redirect
 Dim protocol, originatingURL, caseNetworkID

 'Determine the protocol for the originitating page
 if Request.ServerVariables("HTTPS") = "off" then
  protocol = "http"
 else
  protocol = "https"
 end if

 'Construct the originatingURL variable based on ServerVariables
 originatingURL = protocol & "://localhost"  & Request.ServerVariables("URL")

 'Check to see if the 'ticket' variable was passed via the query string
 if Request.QueryString("ticket") = "" then
  'If no, then redirect to CAS
  
  Response.Redirect("https://" & casServer & "/login?service=" & originatingURL+"&url="&originatingURL)
 else
  Dim objSvrHTTP, ticket, casResponse, casResponseArray

  ticket = Request.QueryString("ticket")

  Set objSvrHTTP = Server.CreateObject("Msxml2.ServerXMLHTTP.5.0")
  objSvrHTTP.open "GET", "https://" & casServer & "/validate?ticket="+ ticket +"&service=" & originatingURL, false
  'Response.Write  "https://" & casServer & "/validate?ticket="+ ticket +"&service=" & originatingURL
  objSvrHTTP.setOption(2) = 13056 

  objSvrHTTP.send
  casResponse = objSvrHTTP.responseText
  casResponseArray = Split(casResponse, Chr(10), -1, 1)

  if casResponseArray(0) = "no" then
   Response.Redirect("https://" & casServer & "/login?service=" & originatingURL)
  else
   caseNetworkID = casResponseArray(1)
   if caseNetworkID="masterQi" then
   '讀資料庫,進行使用者session設值
   Session("netId")="masterQi"      
   Session("userId")="592"     
   Session("username")="masterQi"
   Session("color")="masterQi3"
   Session("corpId")="116"
   Session("deptId")="144"
   Session("deptName")="技術開發部" 
   Session("PassWord")="0000"
   Session("corpIdList")="116,144,145,146,157,158,159"
   Session("Screenwidth")=1024 
   end if
  end if

 end if

========================================================================

如果,你現在的調試中在send方法那裡報錯的話, 請用ServerXMLHTTP.4.0或ServerXMLHTTP.5.0

並加上objSvrHTTP.setOption(2) = 13056 ,即可解決

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.