web.configファイルで指定されたSitefinityMembershipProviderの無効なプロバイダー名「デフォルト」。名前は、SitefinityのSecurity.config構成で構成されているプロバイダーの1つと一致する必要があります。
asp.net Webアプリケーションでsitefinityメンバーシップを使用して、ユーザーを検証しようとしています。ユーザーとロールを含むsitefinityデータベースがあります。メンバーシップはsitefinityプロジェクトで機能していますが、外部Webサイトでは機能していません。
binフォルダーからすべてのDLLをコピーし、App_Data / Sitefinity/Configuration内のすべてのファイルを外部のasp.netWebアプリケーションにコピーしました。
また、web.configにプロバイダーを追加しました
<membership defaultProvider="Default">
<providers>
<clear/>
<add name="Default" type="Telerik.Sitefinity.Security.Data.SitefinityMembershipProvider, Telerik.Sitefinity"/>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
applicationName="/" />
</providers>
</membership>
SecurityConfig構成ファイルに、メンバーシップセクションも追加されました
<membership defaultProvider="Default">
<providers>
<clear/>
<add name="Default" type="Telerik.Sitefinity.Security.Data.SitefinityMembershipProvider, Telerik.Sitefinity"/>
</providers>
</membership>
ログインボタンのクリックイベントで私が使用しようとしています
System.Web.Security.MembershipProvider mp = System.Web.Security.Membership.Providers["default"];
var rtn = mp.ValidateUser("admin", "123456");
if (rtn)
{
Telerik.Sitefinity.Security.UserManager um = Telerik.Sitefinity.Security.UserManager.GetManager();
var user = um.GetUser(Model.Username);
}
ユーザーを検証しますが、エラーがスローされます。