0

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);
        }

ユーザーを検証しますが、エラーがスローされます。

ソースコードリンクhttp ://www.mediafire.com/?luo87fxigvx4amd

4

1 に答える 1

0

問題が何であるか正確にはわかりませんが、すべての Sitefinity および OpenAccess アセンブリを bin フォルダーにプルしたことを確認する必要があります。

また、このスレッドhttp://www.sitefinity.com/devnet/forums/sitefinity-4-x/sdk/reference-sitefinity-dll-s-from-external-site.aspxに従って、「Sitefinity コンポーネントは、これは web/app config ではなく、app_data の個別の構成ファイルに保存されているため、これらも同様にプルする必要があります。

ただし、推奨されるアプローチは、Web サービスを構築することです (http://www.sitefinity.com/devnet/forums/sitefinity-3-x/developing-with-sitefinity/creating-users-with-sitefinity-api.aspx #1162552)。

于 2012-05-01T13:21:42.790 に答える