程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET中跨應用程序進行Forms身份驗證詳解

ASP.NET中跨應用程序進行Forms身份驗證詳解

編輯:關於ASP.NET

先仔細閱讀這段內容:ASP.NET 支持在分布式環境中(跨單個服務器上的多個應用程序或在網絡場中)進行 Forms 身份驗證。

之前研究過多站點間的Session共享的問題,這裡說下跨應用程序進行 Forms 身份驗證詳細實現方式,此方案的基礎就是“跨應用程序進行 Forms 身份驗證”(幫助可點擊鏈接或是自己直接查找MSDN)。

在VS2005中建立兩個Web應用程度的項目,兩個項目都添加一個Default.aspx頁面,其中一個項目增加Login.aspx頁面,實現“Forms 身份驗證”。

在兩個項目的Default.aspx.cs代碼頁面添加如下代碼:view plaincopy to clipboardprint?

Response.Write(User.Identity.Name); //輸出當前Form認證後登錄的用戶名

Response.Write(User.Identity.Name); //輸出當前Form認證後登錄的用戶名假設兩個項目的訪問地址如下:

A項目:http://localhost/test/

B項目(帶登錄):http://localhost:81/

從上地址可以看出兩個項目處於不同的域名下,即兩個項目處於兩個不同的Web站點

設置A項目的web.configview plaincopy to clipboardprint?

<authentication mode="Forms"> 
 <!-- 
  這裡loginUrl是指向B項目的登錄頁面 
  注意:name、protection、path、validationKey、validation、decryptionKey 和 decryption 屬性必須在所有應用程序中都完全相同 
 --> 
<forms loginUrl="http:localhost:81/Login.aspx" path="/" protection="All" defaultUrl="http:localhost:81/Default.aspx" timeout="40" name=".DeESoft"> 
</forms> 
</authentication> 
<machineKey 
validationKey="C50B3C89CB21F4F1422FF158A5B42D0E8DB8CB5CDA1742572A487D9401E3400267682B202B746511891C1BAF47F8D25C07F6C39A104696DB51F17C529AD3CABE" 
decryptionKey="8A9BE8FD67AF6979E7D20198CFEA50DD3D3799C77AF2B72F" 
validation="SHA1" /> 
<authorization> 
<deny users="?" /> 
</authorization> 
<authentication mode="Forms">
 <!--
  這裡loginUrl是指向B項目的登錄頁面
  注意:name、protection、path、validationKey、validation、decryptionKey 和 decryption 屬性必須在所有應用程序中都完全相同
 -->
<forms loginUrl="http:localhost:81/Login.aspx" path="/" protection="All" defaultUrl="http:localhost:81/Default.aspx" timeout="40" name=".DeESoft">
</forms>
</authentication>
<machineKey
validationKey="C50B3C89CB21F4F1422FF158A5B42D0E8DB8CB5CDA1742572A487D9401E3400267682B202B746511891C1BAF47F8D25C07F6C39A104696DB51F17C529AD3CABE"
decryptionKey="8A9BE8FD67AF6979E7D20198CFEA50DD3D3799C77AF2B72F"
validation="SHA1" />
<authorization>
<deny users="?" />
</authorization>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved