【问题标题】:Why am I having this RoleProvider problem?为什么我有这个 RoleProvider 问题?
【发布时间】:2010-12-15 20:39:48
【问题描述】:

我目前有 2 个简单的 ASP .Net 应用程序。两个应用程序共享相同的 aspnetdb 成员资格数据库,用于成员资格、角色和提供者以及相同的加密和解密密钥。他们还在 IIS 中拥有单独的网站和单独的应用程序池。

我遇到的问题是,尽管两个应用程序都有一个具有不同应用程序名称的角色提供程序,但它们都在第二个应用程序启动后注册并使用第二个应用程序的角色提供程序。

两个应用程序在默认页面上都有以下代码块:

<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>

我遇到的问题是,当我显示示例应用程序 1 时,我得到了

当前角色提供者详细信息: AspNetSqlRoleProviderWebApp1,示例 网络应用 2

当我查看示例应用程序 2 时,我得到了

当前角色提供者详细信息: AspNetSqlRoleProviderWebApp2,示例 网络应用 2

由于这些是完全独立的 Web 应用程序,为什么第二个应用程序的“应用程序名称”会出现在第一个应用程序中?

据我所知,唯一常见的是数据库共享相同的 aspnetdb 数据库以及应用程序名称“/”的相同成员资格提供程序设置,以便在应用程序之间共享用户。

【问题讨论】:

  • 有人有什么想法可以调查吗?

标签: membership shared roleprovider


【解决方案1】:

read here 需要进行一些修改才能使用多个角色提供程序。我希望这会对你有所帮助。

【讨论】:

  • 但在这种情况下,每个应用程序中没有多个角色提供者。每个应用程序中只有一个角色提供者具有不同的应用程序名称来分隔底层角色存储。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多