我目前有2個簡單的ASP .Net應用程序。兩個應用程序共享相同的aspnetdb成員資格數據庫,用於成員資格,角色和提供程序以及相同的加密和解密密鑰。他們在IIS中也有獨立的網站和獨立的應用程序池。爲什麼我有這個RoleProvider問題?
我遇到的問題是,儘管具有不同的應用程序名稱的角色提供兩種應用它們都被註冊和第二個應用程序啓動後使用從第二應用角色提供。
兩個應用程序都具有默認頁面下面的代碼塊:
<p>
Current role provider details: <%= Roles.Provider.Name +", "+ Roles.Provider.ApplicationName %>
</p>
應用1在其web.config中的以下roleprovider塊:
<roleManager
enabled="true"
defaultProvider="AspNetSqlRoleProviderWebApp1"
cacheRolesInCookie="true"
domain="Sample Web Application 1"
cookiePath="path1.domain.co.uk"
>
<providers>
<add
connectionStringName="aspnetdbConnection"
applicationName="Sample Web Application 1"
description="AspNetSqlRoleProviderWebApp1"
name="AspNetSqlRoleProviderWebApp1"
type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
/>
</providers>
</roleManager>
應用2有下列復甦作用提供者語句在其web.config中:
<roleManager
enabled="true"
defaultProvider="AspNetSqlRoleProviderWebApp2"
cacheRolesInCookie="true"
domain="Sample Web Application 2"
cookiePath="path2.domain.co.uk"
>
<providers>
<add
connectionStringName="aspnetdbConnection"
applicationName="Sample Web Application 2"
description="AspNetSqlRoleProviderWebApp2"
name="AspNetSqlRoleProviderWebApp2"
type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
/>
</providers>
</roleManager>
問題I我有是,當我顯示示例應用程序1,我得到
當前角色提供詳細信息: AspNetSqlRoleProviderWebApp1,樣品 Web應用程序2
當我查看示例應用程序2,我得到
當前角色提供者詳細信息: AspNetSqlRoleProviderWebApp2,示例 Web應用程序2
因爲這些是完全獨立的Web應用程序,爲什麼是「應用程序名稱」從表示第一了第二個應用程序?
只有我能看到的唯一一件事是,數據庫共享相同的aspnetdb數據庫以及相同的應用程序名稱'/'的成員資格提供程序設置,以便在應用程序之間共享用戶。
有沒有人有任何想法,我可以進行調查? – 2010-08-10 15:29:12