日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

单点登录之实战CAS5.1.x(六)——REST协议

發(fā)布時間:2025/3/8 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 单点登录之实战CAS5.1.x(六)——REST协议 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019獨角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

b/s類型的項目我們可以使用前文的方法很容易就做了集成,如果是c/s類型的應(yīng)用呢?還有些比較特殊b/s類型的項目,既希望能夠集成sso,又希望能保留自己的登錄畫面和本地用戶,這里就需要用到官方提供的REST協(xié)議。

這一段嘗試過程很順利,官方的文檔雖然簡單到不行不過沒啥大毛病,筆者嘗試用C#實現(xiàn)了一下一次通過,小伙伴們可以很輕松的參照C#代碼碼出其他語言的代碼,因為只是做幾次簡單的http請求。

private void btnClick_Click(object sender, EventArgs e){//獲取TGTstring tid = HtmlPost("https://sso.xxx.com/cas/v1/tickets", "username=zhangsan&password=1", "POST");//返回的格式是html,需要解析抽取TGTRegex regex = new Regex("(?<=tickets/).+?(?=\")", RegexOptions.Singleline);tid = regex.Match(tid).Value;//獲取服務(wù)(客戶端惟一url,可以捏造但必須惟一)憑據(jù),有效期1.8秒string data = "service=" + HttpUtility.UrlEncode("https://www.xxx.com");string ticket = HtmlPost("https://sso.xxx.com/cas/v1/tickets/" + tid, data, "POST");//憑借客戶端惟一url和它的憑據(jù)獲取用戶憑據(jù)string content = HtmlGet("https://sso.xxx.com/cas/p3/serviceValidate?service=https://www.xxx.com&ticket=" + ticket);//返回的content是xml格式的,需要自行解析//注銷憑據(jù)string result = HtmlPost("https://sso.xxx.com/cas/v1/tickets/" + tid, "", "DELETE");}string HtmlPost(string url, string data, string method){HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);req.ContentType = "application/x-www-form-urlencoded";req.Method = method;byte[] form = Encoding.Default.GetBytes(data);req.ContentLength = form.Length;req.GetRequestStream().Write(form, 0, form.Length);req.GetRequestStream().Close();HttpWebResponse rep = (HttpWebResponse)req.GetResponse();StreamReader sr = new StreamReader(rep.GetResponseStream());string str = sr.ReadToEnd();sr.Close();rep.GetResponseStream().Close();return str;}string HtmlGet(string url){WebClient wc = new WebClient();wc.Encoding = Encoding.UTF8;return wc.DownloadString(url);}

?

轉(zhuǎn)載于:https://my.oschina.net/viperwhip/blog/1534908

總結(jié)

以上是生活随笔為你收集整理的单点登录之实战CAS5.1.x(六)——REST协议的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。