dyk*_*dyk 5 c# asp.net membership-provider
这是我的web.config:
<membership defaultProvider="CustomizedMembershipProvider">
<providers>
<clear />
<add name="CustomizedMembershipProvider"
connectionStringName="MYbdName"
applicationName="/" type="System.Web.Security.SqlMembershipProvider"
requiresQuestionAndAnswer="false"
passwordFormat="Clear"
enablePasswordRetrieval="true"
requiresUniqueEmail="true"
minRequiredPasswordLength="4"
minRequiredNonalphanumericCharacters="0" />
</providers>
</membership>
Run Code Online (Sandbox Code Playgroud)
我甚至硬编码了用户名和密码:
bool b = Membership.ValidateUser("user@mail.com", "pass123");
Run Code Online (Sandbox Code Playgroud)
当我在数据库上执行选择时,我得到了正确的用户.
用户isAproved = true
用户isLockedout = 0
applicationName配置ASP.NET 2.0成员身份和其他提供程序时,需要设置该属性.在你的web.config中,它丢失了:
<membership defaultProvider="CustomizedMembershipProvider">
<providers>
<clear />
<add name="CustomizedMembershipProvider"
connectionStringName="MYbdName"
applicationName="/" <---------- Missing applicationName
type="System.Web.Security.SqlMembershipProvider"
requiresQuestionAndAnswer="false"
passwordFormat="Clear"
enablePasswordRetrieval="true"
requiresUniqueEmail="true"
minRequiredPasswordLength="4"
minRequiredNonalphanumericCharacters="0" />
</providers>
</membership>
Run Code Online (Sandbox Code Playgroud)
你可以尝试在这里获得价值
public bool Login(string userName, string password)
{
var provider = Membership.Provider;
string name = provider.ApplicationName; // Get the application name here
return Membership.ValidateUser(userName, password);
}
Run Code Online (Sandbox Code Playgroud)
或者打开数据库中的aspnet_Users和aspnet_Applications表,ASPNETDB并确定在开发过程中创建用户和其他数据时使用的应用程序名称(查看aspnet_Application表格以解决此问题).
然后在web.cofig中正确设置属性:
<membership defaultProvider="CustomizedMembershipProvider">
<providers>
<clear />
<add name="CustomizedMembershipProvider"
connectionStringName="MYbdName"
applicationName="MyAppName" <---------- correct
type="System.Web.Security.SqlMembershipProvider"
requiresQuestionAndAnswer="false"
passwordFormat="Clear"
enablePasswordRetrieval="true"
requiresUniqueEmail="true"
minRequiredPasswordLength="4"
minRequiredNonalphanumericCharacters="0" />
</providers>
</membership>
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请阅读这篇文章从斯科特谷的博客.
| 归档时间: |
|
| 查看次数: |
14342 次 |
| 最近记录: |