在我的 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/