web.config中指定的SitefinityMembershipProvider的提供程序名称“Default”无效

时间:2012-05-01 12:15:17

标签: asp.net-mvc telerik membership-provider sitefinity

  

提供商名称无效"默认"对于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

1 个答案:

答案 0 :(得分: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中的单独配置文件中”,因此您需要将这些也是。

但是,推荐的方法是建立一个网络服务(http://www.sitefinity.com/devnet/forums/sitefinity-3-x/developing-with-sitefinity/creating-users-with-sitefinity- api.aspx#1162552)。