Asp.net 对于设置自定义成员身份,此代码在web.config中是否正确
我想使用自定义成员资格和自定义角色提供程序。我有以下课程:Asp.net 对于设置自定义成员身份,此代码在web.config中是否正确,asp.net,web-applications,web-config,membership,Asp.net,Web Applications,Web Config,Membership,我想使用自定义成员资格和自定义角色提供程序。我有以下课程: public class CustomRoleProvider : RoleProvider { //override methods } public class CustomMembershipProvider : MembershipProvider { //override methods } 我要设置web.config,这个代码正确吗 <membership defaultProvider="CustomMembe
public class CustomRoleProvider : RoleProvider
{
//override methods
}
public class CustomMembershipProvider : MembershipProvider
{
//override methods
}
我要设置web.config,这个代码正确吗
<membership defaultProvider="CustomMembershipProvider">
<providers>
<clear />
<add name="CustomMembershipProvider" type="Login1.Code.CustomMembershipProvider, Login1, Version=1.0.0.0, Culture=neutral" connectionStringName="LoginDB1Entities" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
</providers>
</membership>
<roleManager enabled="true" defaultProvider="CustomRoleProvider">
<providers>
<clear />
<add name="CustomRoleProvider" type="Login1.Code.CustomRoleProvider" connectionStringName="LoginDB1Entities" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" writeExceptionsToEventLog="false" />
</providers>
</roleManager>
因为当我转到ASP.NET配置和安全选项卡时,会收到以下消息:
所选数据存储存在问题。这可能是由于服务器名称或凭据无效或权限不足造成的。这也可能是由于未启用角色管理器功能造成的。单击下面的按钮可重定向到可以选择新数据存储的页面。
以下消息可能有助于诊断问题:方法或操作未实现 这里的问题似乎源于您的
connectionStringName
属性
确保在Web.config的
部分中定义/添加连接字符串
<connectionStrings>
<add name="LoginDB1Entities" ... />
</connectionStrings>
此外,如果您已经如上所述添加了,请确保使用了正确的设置
首先检查数据库的确切位置?找出应用程序使用的数据库是SQL Server的哪个实例。修改连接字符串以指向该实例。此处的问题似乎源于您的
connectionStringName
属性
确保在Web.config的
部分中定义/添加连接字符串
<connectionStrings>
<add name="LoginDB1Entities" ... />
</connectionStrings>
此外,如果您已经如上所述添加了,请确保使用了正确的设置
首先检查数据库的确切位置?找出应用程序使用的数据库是SQL Server的哪个实例。修改连接字符串以指向该实例
未实现该方法或操作
如果在没有任何参数的情况下抛出NotImplementedException
,则会得到此消息
最明显的原因是您的一个自定义提供程序没有实现预期的方法之一。如果你能得到一个堆栈跟踪,你会看到哪一个
更新回应评论:
我的自定义成员身份正在网站中工作 成员资格和角色提供程序包含用于两个目的的方法:
- 运行时身份验证(MembershipProvider)和授权(RoleProvider)所需的方法。例如,在运行时RoleProvider仅使用方法
和IsUserInRole
GetRolesForUser
- 管理用户(MembershipProvider)和角色/角色成员资格(RoleProvider)所需的方法。如果要使用ASP.NET配置和安全选项卡管理提供商的数据存储,则需要这些方法
NotImplementedException
顺便说一句,NotImplementedException
不是只读提供程序中不受支持的方法引发的最佳异常。它通常仅用于指示尚未在开发中的版本中实现的方法
如果您不打算实现该方法,最好抛出NotSupportedException
——或者在提供程序的情况下,可能是一个
未实现该方法或操作
如果在没有任何参数的情况下抛出NotImplementedException
,则会得到此消息
最明显的原因是您的一个自定义提供程序没有实现预期的方法之一。如果你能得到一个堆栈跟踪,你会看到哪一个
更新回应评论:
我的自定义成员身份正在网站中工作 成员资格和角色提供程序包含用于两个目的的方法:
- 运行时身份验证(MembershipProvider)和授权(RoleProvider)所需的方法。例如,在运行时RoleProvider仅使用方法
和IsUserInRole
GetRolesForUser
- 管理用户(MembershipProvider)和角色/角色成员资格(RoleProvider)所需的方法。如果要使用ASP.NET配置和安全选项卡管理提供商的数据存储,则需要这些方法
NotImplementedException
顺便说一句,NotImplementedException
不是只读提供程序中不受支持的方法引发的最佳异常。它通常仅用于指示尚未在开发中的版本中实现的方法
如果您不打算实现该方法,最好抛出
NotSupportedException
——或者在提供程序的情况下,抛出一个。是。我在web.config中设置了此连接字符串,您确定在连接字符串中使用了正确的设置,如:数据源、用户名、密码等吗??另外,重新编译、重建应用程序,并在我的自定义成员身份在站点中工作后再次运行。但是当我转到ASP.NET配置和安全选项卡时,得到messageYes。我设定