日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

实现 ASP.NET WebForm Client

發布時間:2025/3/15 asp.net 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 实现 ASP.NET WebForm Client 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.





  • 第一部分:安裝配置 Tomcat

  • 第二部分:安裝配置 CAS

第三部分:實現 ASP.NET WebForm Client

1. 下載.NET CAS client。

.NET CAS Client 下載地址:https://wiki.jasig.org/display/CASC/.Net+Cas+Client

下載“dotnet-client-1.0-Src.zip”并解壓縮。

?

2. 配置 CAS DotNetClient

以管理員身份啟動Visual Studio(目的為了隨后可以直接將網站發布到IIS),打開“DotNetCasClient.vs2010.sln”解決方案。

(1)項目“DotNetCasProxyDemoApp”暫時用不到,從解決方案中移除。

(2)將“DotNetCasClient”項目中“Properties”文件夾下的“AssemblyInfo.cs”刪除,將“AssemblyInfo.cs.tmpl”重命名為“AssemblyInfo.cs”。

(3)打開將“DotNetCasClient”項目中“Properties”文件夾下的“AssemblyInfo.cs”,將所有“$WCREV$”替換成“0”(或其它表示版本的數字)。

(4)將“ExampleWebSite”項目設置為啟動項。

(5)將“ExampleWebSite”項目根文件夾下的“web.config.sample”重命名為“web.config”

(6)打開“web.config”文件,找到“casClientConfig”節點,將“casServerLoginUrl”屬性設置為“https://192.168.0.123:8443/cas/login”,將“casServerUrlPrefix”屬性設置為“https://192.168.0.123:8443/cas/”,將“serverName”屬性設置為“http://localhost:3273/ExampleWebSite”。

說明:192.168.0.123是前面我們配置好的CAS服務器IP地址;“serverName”屬性中3273為運行該項目時IISExpress自動分配的端口號,如果項目發布到客戶端IIS上,建議將“serverName”屬性更改為“http://192.168.0.153/ExampleWebSite”,其中192.168.0.153為客戶端IP地址。注意:“serverName”屬性中網絡地址最后不要加“/”。

(7)從“web.config”文件中找到“authentication”節點,將“loginUrl”屬性設置為“https://192.168.0.123:8443/cas/login”,將“path”屬性設置為“/ExampleWebSite/”。

(8)保存全部修改,重新編譯解決方案。

?

3. 調試 CAS DotNetClient

(1)鼠標右擊“DotNetCasClient”項目根目錄下的“Default.aspx”,選擇“在瀏覽器中查看...”

(2)單擊“Authenticated Users Only”連接,系統自動重定向到CAS登錄頁面(如果IE有證書警告信息,直接點擊“繼續瀏覽此網站”),此時IE會報網頁有錯誤。

這是由于CAS中的一段腳本引起的。如圖所示,調試信息指出是“cas/js/cas.js”腳本出了問題。

(3)回到IP地址為“192.168.0.123”的服務器,以管理員身份編輯“%TOMCAT_HOME%\webapps\cas\js\cas.js”,滾動到文件最下方添加兩行代碼并保存。如圖所示:

(4)回到客戶端機器,重復步驟(1),這回IE不再報網頁有錯誤。

注意:每次運行項目時強烈建議清除IE緩存及Cookies,防止因IE緩存造成不必要的錯覺。

(5)在CAS登錄窗體中輸入用戶名和密碼,均為“admin”,此時會出現登錄異常,要么IE提示一遍一遍重新登錄,要么IE會出現“假死”現象。如果使用Chorme瀏覽器,你就會發現遭遇“重定向循環”問題了。

?

4. 解決CAS DotNetClient重定向循環問題

CAS DotNetClient重定向循環問題早就有人發現了,并且提出了各種解決辦法。通過檢索會發現最有幫助的就是博客園“邢少”的《CAS 與.net 集成的 “循環重定向”問題分析》一文。在這篇博文中,建議用戶直接增加配置:

<sessionState mode="StateServer" cookieless="UseCookies" timeout="36000"></sessionState>

其目的為:1、啟用會話狀態;2、開始asp.net狀態服務〔確保會話的持久,不在莫名其妙的失效。〕。

然而,通過對項目“DotNetCasClient”代碼的追蹤和分析發現,狀態信息是通過Cache存儲的,與sessionState的關系應該不大。本人認為該方法并不能解決問題。

通過在“DotNetCasClient\Validation\TicketValidator\AbstractUrlTicketValidator.cs”設置斷點,并通過F11逐步運行程序發現問題出在“基礎連接已經關閉: 未能為 SSL/TLS 安全通道建立信任關系。”

?

因此,提供如下修改方案:

(1)在Visual Studio中打開“CASDotNetClient”項目中的“\Utils\HttpUtil.cs”文件,添加如下命名空間:

using?System.Net.Security;? using?System.Security.Authentication;? using?System.Security.Cryptography.X509Certificates;

(2)在HttpUtil類中增加如下方法:

internal?static?bool?CheckValidationResult(object?sender,?X509Certificate?certificate,?X509Chain?chain,?SslPolicyErrors?errors)? {????return?true;? }

(3)在PerformHttpGet方法中添加驗證服務器證書回調自動驗證代碼,添加代碼后的PerformHttpGet方法如下:

internal?static?string?PerformHttpGet(string?url,?bool?requireHttp200)? {?string?responseBody?=?null;?//--?以下新添加的代碼:驗證服務器證書回調自動驗證?ServicePointManager.ServerCertificateValidationCallback?=?new?System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);?//--?以上為新添加的代碼?HttpWebRequest?request?=?(HttpWebRequest)WebRequest.Create(url);?using?(HttpWebResponse?response?=?(HttpWebResponse)request.GetResponse())?{?if?(!requireHttp200?||?response.StatusCode?==?HttpStatusCode.OK)?{?using?(Stream?responseStream?=?response.GetResponseStream())??{?if?(responseStream?!=?null)?{?using?(StreamReader?responseReader?=?new?StreamReader(responseStream))?{?responseBody?=?responseReader.ReadToEnd();?}?}?}?}?}?return?responseBody;? }

(4)保存修改并重新生成解決方案。

?

5. 測試 CAS DotNetClient

(1)鼠標右擊“DotNetCasClient”項目根目錄下的“Default.aspx”,選擇“在瀏覽器中查看...”

??

(2)單擊“Authenticated Users Only”連接,系統自動重定向到CAS登錄頁面(如果IE有證書警告信息,直接點擊“繼續瀏覽此網站”)。

(3)輸入用戶名、密碼(均為“admin”,或均為“bob”),CAS自動完成登錄并重定向回原有網站。

至此,基于ASP.NET WebForm的CAS客戶端已經完全調試通過。下面就“重定向循環”做進一步討論討論

?

6. 深入討論DotNetClient重定向循環問題

這里提供兩篇我從網上搜到的解決辦法,并探討解決辦法存在的問題。

(1)HOWTO CASifying ASP.NET WebApp - ExampleWebsite

此文應該是官方網站上放出來的解決辦法,應該具有權威性。它提供的主要解決辦法就是讓CAS Server和CAS Client互相信任對方的證書,從而避免SSL因不信任證書造成重定向循環。然而實際情況確是IE根本不會信任用戶自己生成的證書,即便加入信任證書根列表也不行,造成“重定向循環”依然存在。

另外,此篇文章要求配置IIS支持SSL,其實根本沒有必要,IIS不配置SSL也可以正常運行。當然,為了安全起見,配置SSL也沒有什么壞處。

(2)博客園“邢少”的《CAS 與.net 集成的 “循環重定向”問題分析》一文

該文試圖從sessionState配置上解決問題,但從本人的實踐看來,“重定向循環”并未得到解決,“重定向循環”問題的本質還是SSL證書信任問題。

?

7. 關于DotNetClient注銷問題

關于DotNet注銷網上有很多介紹的材料。我這里就不再多說什么了。留下個鏈接供大家參考。《解釋CAS Logout問題》

為了便于查看,將《解釋CAS Logout問題》一文的主要內容放在下面便于查閱:

CAS Logout是一個非常費解的問題,我在這里簡單解釋一下:

假設有webapp1, webapp2, cas server,webapp1, webapp2均受cas server保護。

?

第1種不能logout的情況:

1)登錄了WebApp1,redirect到caserver,casserver認證后,再redirect到webapp1,ok!

2)http方式 lougout casserver1,即http://yale_casserver:8080/cas/lougout,顯示logout成功

3)訪問webapp2,還能訪問!這是非常正常的一種情況,因為你不通過https來注銷,casserver怎么“殺”掉它通過https發給你的TGC Cookie?

?

第2種不能logout的情況:

1)登錄了WebApp1,redirect到caserver,casserver認證后,再redirect到webapp1,ok!

2)https方式 lougout casserver1,即https://yale_casserver:8443/cas/lougout,顯示logout成功

3)訪問webapp1,還能訪問!訪問webapp2,不能訪問,重定向到casserver要求登錄!這也是非常正常的一種情況,因為你已經能夠訪問,你繼續可以繼續訪問,CASLogout不能阻止你訪問webapp1,它只能阻止你訪問webapp2,因為你已經被允許訪問webapp1,而webapp2則還沒有,如果你在(1)的時候,順帶也訪問webapp2,那么你的注銷將毫無作用了,CAS無法阻止你訪問這兩個webapp,因為你有Service Ticket。

如果你對此費解,那時因為你已為Logout就是退出系統,那我只能表示遺憾,因為CAS Logout的作用不是這樣,它的作用是阻止你繼續通過TGC(它簡單地清楚了IE的TGC Cookie)來獲取ST,阻止你獲取通向其他web應用的Ticket。

所以,用完webapp1的時候,注銷,然后再關閉掉IE就徹底Logout了。


轉載于:https://my.oschina.net/liangzhenghui/blog/538052

總結

以上是生活随笔為你收集整理的实现 ASP.NET WebForm Client的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 五月婷婷中文字幕 | 国产va亚洲va在线va | 天天操夜夜骑 | 日日干日日操 | 国产麻豆成人传媒免费观看 | 人妻少妇偷人精品视频 | 久久艹精品视频 | h狠狠躁死你h高h | 黄色不卡视频 | 牛牛电影国产一区二区 | 青青草成人免费视频 | 人妻洗澡被强公日日澡电影 | 欧美日韩一卡二卡 | 波多野结衣在线免费观看视频 | 欧美aaaaaa| 激情伊人五月天 | 日本阿v视频 | 成人黄色片免费看 | 特黄色一级片 | 91国内精品视频 | 久久国产福利一区 | 91精品国产欧美一区二区成人 | 嫩草www| 天堂av资源在线观看 | 青青青青青青青青草 | 麻豆av导航 | 欧美精选一区二区 | 亚洲黄色影院 | 亚洲高清免费视频 | 都市激情av | 日韩一级精品 | 成人免费毛片xxx | 18岁免费观看电视连续剧 | 久久经典视频 | 精品人妻一区二区三区潮喷在线 | 欧亚av| 村上里沙番号 | 中文字幕一区二区人妻 | 九九久久精品视频 | 三级理伦 | 爱情岛论坛自拍亚洲品质极速最新章 | 精品伦精品一区二区三区视频密桃 | 草久av| 色涩网站 | 欧美日韩在线影院 | 国产午夜在线 | 日韩激情毛片 | 殴美一级黄色片 | 牛av| 蜜桃av鲁一鲁一鲁一鲁俄罗斯的 | 亚洲激情社区 | av在线播放不卡 | 久久天堂电影 | 精品国产乱码久久久久久蜜臀网站 | 毛片在线免费视频 | 日韩福利电影在线观看 | 综合色综合 | 91精品啪 | 欧美日韩高清一区 | 女人的天堂av在线 | 九九视频在线免费观看 | 国产区一二| 国产色片在线观看 | 黄色动漫在线免费观看 | 五月天激情综合 | 人妖一区 | 欧美日韩综合一区二区三区 | 久久伊人一区二区 | www.黄色.| 91精品婷婷国产综合久久蝌蚪 | 一级中国毛片 | 国产亚洲精品成人无码精品网站 | 天天想你在线观看完整版电影高清 | 欧美大片免费 | 男女扒开双腿猛进入爽爽免费 | 欧美一级免费 | 上原亚衣在线观看 | 日韩av一级片 | av老司机久久 | 国产精品久久久久久在线观看 | 91丨九色丨蝌蚪丨老版 | 粉嫩av国产一区二区三区 | www.色天使| 奶水旺盛的少妇在线播放 | 超碰av男人的天堂 | 中文字幕一区二区三区免费看 | 环太平洋3:泰坦崛起 | 国产熟妇一区二区三区四区 | 一区视频免费观看 | 欧美性插视频 | 亚洲精品无码一区二区 | 欧美电影一区二区三区 | 啪啪免费| 亚洲精品白浆高清久久久久久 | 一级肉体全黄裸片 | 日韩欧美在线一区 | 女女同性女同一区二区三区按摩 | 99色综合网 | 丰满尤物白嫩啪啪少妇 |