以前,我已經實現了兩個單獨的ASP.NET Web應用程序,一個如在其它,如在http://msdn.microsoft.com/en-us/library/eb0zx8fc.aspx共享形成網站和Web應用程序之間的認證
描述了成功共享形式的認證的子目錄的虛擬應用程序(基本上,建立在Web.config相同<forms>
節和鍵在<machineKey>
部分)
現在,我試圖做類似的事情讓BlogEngine.NET(這是一個網站,而不是一個Web應用程序)與我的Web應用程序共享表單身份驗證。我已經嘗試將它作爲一個虛擬應用程序放在子文件夾中,並將其設置爲單獨的IIS站點(相同的域名,不同的端口號),但我無法完成身份驗證:當我去登錄到我的Web應用程序Page.User.Identity.IsAuthenticated
的博客始終仍然是「虛假」。
我真的不知道如何開始調試,因爲表單身份驗證是在我的任何代碼運行之前處理的。兩個Web.configs的
<authentication>
部分是相同的:
<authentication mode="Forms">
<forms path="/" domain="localhost" timeout="129600" name=".WebSiteName"
protection="All" slidingExpiration="true" loginUrl="/admin/login.aspx"
cookieless="UseCookies"/>
</authentication>
而且<machineKey>
也:
<machineKey validationKey="DD45C42ACEAF1E208E9B78288177EBF9C8C7C54C6D05BA2FBA90B5348B8F6987216CB098056891CFE81DC33E37C5F9A2BF1845DBF902C6E4BBFEC2341FFA3635"
decryptionKey="0C69852D8BE0948D545C35B932D394102802FAF7FA46E99B4E5B5E12546E4620"
validation="SHA1" decryption="AES" />
有沒有人有任何建議,我應該檢查或嘗試?
從來沒有得到這個工作在其原始狀態。我最終做的是更改這兩個應用程序 - 每個應用程序都有自己的自定義MembershipProvider和RoleProvider,沒有太大的理由 - 使用標準的AspNetSqlMembershipProvider和AspNetSqlRoleProvider。從這一點來看,共享認證狀態完美運行。 – Carson63000 2010-08-18 23:37:41