.net - 成员(member)提供商 - 仅连接到默认提供商?

标签 .net asp.net-mvc asp.net-mvc-3

在我的 Web 配置中,我定义了 2 个成员资格提供程序,一个用于 sql,一个用于 Active Directory。我的思考过程是,在发布版本中,我将 AD 设置为默认值,但在调试时我使用 sql。这是因为我的开发计算机无法访问域来验证用户身份。

然而,在我看来,我的网站尝试连接到两个源,而不仅仅是默认的提供商。因此,虽然我定义了事件目录提供程序,但我无法进行开发,因为它无法连接,即使 sql 被定义为默认值。

有没有办法只连接到默认提供程序?

我当前损坏的网络配置如下:

<membership defaultProvider="AspNetSqlMembershipProvider">
  <providers>
    <clear/>
    <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="SqlServer" />
    <add name="ActiveDirectoryMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider" connectionStringName="ActiveDirectoryServer" attributeMapUsername="sAMAccountName"/>

  </providers>
</membership>

最佳答案

在您的 web.release.config 文件中,您可以用 AD 信息替换整个成员资格部分,并且在 web.config 中您可以将其保留原样或仅包含 SQL 提供程序。

对于 web.release.config:

<system.web>
  <membership defaultProvider="ActiveDirectoryMembershipProvider" xdt:Transform="Replace">
    <providers>
      <clear/>
      <add name="ActiveDirectoryMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider" connectionStringName="ActiveDirectoryServer" attributeMapUsername="sAMAccountName"/>
    </providers>
  </membership>
</system.web>

关于.net - 成员(member)提供商 - 仅连接到默认提供商?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6785078/

相关文章:

.net - 这似乎是并发集合/队列组合的合理方法吗?

c# - 如何将 Asp.net 页面与 Python 项目集成?

sql-server - 计划将 PostgreSQL 与 ASP.NET 一起使用 : bad idea?

c# - 在 ASP.NET MVC 3 中添加 header

c# - 将 Odata 查询参数添加到 @html.Routelink

asp.net-mvc - DisplayFormat 未应用于十进制值

.net - SQLCMD 模式与 .net windows 应用程序一起运行

.net - sqlite-net 日期时间检索

c# - 如何在没有 View 模型的情况下使用@Html.EditorFor()

javascript - Bootstrap 样式突然停止工作