当您配置了多个成员资格提供程序时,例如:
<membership defaultProvider="UmbracoMembershipProvider" userIsOnlineTimeWindow="15">
<providers>
<clear />
<add name="UmbracoMembershipProvider" type="umbraco.providers.members.UmbracoMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" defaultMemberTypeAlias="Another Type" passwordFormat="Hashed" />
<add name="UsersMembershipProvider" type="umbraco.providers.UsersMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" passwordFormat="Hashed" />
<add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData"/>
</providers>
</membership>
然后假设,对于站点中的特定部分,我想使用 SimpleMembershipProvider 进行身份验证(站点的其余部分将使用默认提供程序,即 UmbracoMembershipProvider)......因此我需要初始化 SimpleMembership:
WebSecurity.InitializeDatabaseConnection(
Constants.Membership.ConnectionStringName,
Constants.Membership.TableName,
Constants.Membership.UserIdColumnName,
Constants.Membership.UserNameColumnName,
false);
但似乎上面的代码仅在 SimpleMembershipProvider 是 defaultProvider 时才有效。我看不到指定要使用的提供程序名称的方法?这甚至可能吗?或者,simplymembership 是否假设您定义了一个成员资格和角色提供者?