0

在 web.config 文件中指定的 SitefinityMembershipProvider 的提供程序名称“默认”无效。该名称应与 Sitefinity 的 Security.config 配置中配置的提供程序之一匹配。

我正在尝试在我的 asp.net Web 应用程序中使用 sitefinity 成员身份来验证用户。我有一个包含用户和角色的 sitefinity 数据库。会员资格在 sitefinity 项目中工作,但在外部网站中不工作。

我将所有 DLL 从 bin 文件夹和 App_Data/Sitefinity/Configuration 中的所有文件复制到外部 asp.net Web 应用程序。

还在 web.config 中添加了 Provider

  <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 部分

 <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 配置中,而是存储在 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 回答