2012-07-11 131 views
0

我需要以用戶方式集成兩個ASP.NET站點。我有一個Web頁面ASP.NET 4網站,允許用戶登錄。它有一個自定義的用戶提供者。現在我已經編寫了一個ASP.NET MVC3站點,它需要與Web Pages站點無縫協作,並且只允許某些來自Web Pages站點用戶提供者的用戶調用某些操作。作爲最後的手段,MVC網站可以訪問網頁網站的用戶數據存儲。在兩個站點之間共享ASP.NET登錄用戶數據

P.S.如果需要,我可以將ASP.NET MVC站點配置爲位於IIS中Web頁面站點的子文件夾中。

+0

他們是否共享***「域名」***?它將工作,如果你在***子域之間導航*** - 給定正確的配置... – xandercoded 2012-07-11 21:42:41

+0

是的,他們將共享相同的域名。你可以繼續關於「正確的配置」作爲一個信息後的一般信息?這可能實際上是我需要知道的=) – 2012-07-11 21:56:19

回答

1

要設置FormsAuthentication跨多個子域被使用,進行以下配置:

指定認證cookie的域,而無需特定的子域 - 允許瀏覽器從任何子訪問驗證票域:

<!-- ... --> 
<authentication mode="Forms"> 
    <forms loginUrl="/Index" domain="authtest.com"> ... </forms> 
    <!-- ... --> 
</authentication> 
<!-- ... --> 

確保單獨的應用程序使用相同機鍵,使他們能夠加密/解密正確的身份驗證票證:

<!-- ... --> 
<system.web>  
    <machineKey validationKey=" ... 3D26FD5F940C2FD0AF8065F29A" 
      decryptionKey=" ... 940CD33EBCE5065F2F2334D" 
      validation="SHA1" decryption="AES" /> 
    <!-- ... --> 
</system.web> 
<!-- ... --> 

其他一切都是標準的ASP.Net認證細節/配置。

+0

Xander,這種方法是否需要兩個站點使用相同的配置訪問數據庫中的用戶數據相同的成員資格提供程序?理論上, – 2012-07-12 12:05:37

+0

不是,只要網站使用相同的主域名並且cookie設置正確。 – xandercoded 2012-07-12 13:31:11

相關問題