【问题标题】:You must call the "WebSecurity.InitializeDatabaseConnection"您必须调用“WebSecurity.InitializeDatabaseConnection”
【发布时间】:2013-07-30 02:49:59
【问题描述】:

我在使用 [Authorize(Roles = "admin")] 属性时遇到问题。

[Authorize(Roles = "admin")]
    public ActionResult GetAllLocations()
    {

我收到以下错误

您必须调用“WebSecurity.InitializeDatabaseConnection”方法 在调用“WebSecurity”类的任何其他方法之前。这个电话 应该放在站点根目录下的 _AppStart.cshtml 文件中。

我首先使用 EF 5 代码和我自己的数据库构建了一个 MVC 4 应用程序。

一点背景:

  • 我创建了一个自定义成员资格提供程序,我继承自 MembershipProvider

  • 我在这个网站上查看了很多关于这个问题的问题,但是 没有找到答案。

  • 在一些答案中,我看到了如何禁用会员提供程序

像这样:

    <add key="enableSimpleMembership" value="false"/>
    <add key="autoFormsAuthentication" value="false"/>

这就是我实现自定义会员提供程序的方式

 <membership defaultProvider="ATWMembershipProvider">
  <providers>
    <clear/>
    <add name="ATMMembershipProvider" type="AroundTheWorldWeb.Infrastructure.AuthenticationProvider.ATMMembershipProvider"
         enablePasswordRetrieval="false"
         enablePasswordReset="true"
         requiresQuestionAndAnswer="false"
         equiresUniqueEmail="false"
         maxInvalidPasswordAttempts="5"
         minRequiredPasswordLength="6"
         minRequiredNonalphanumericCharacters="0"
         passwordAttemptWindow="10" applicationName="myApplication" />
  </providers>
</membership>
<roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">
  <providers>
    <remove name="AspNetSqlRoleProvider" />
    <add name="AspNetSqlRoleProvider" type="WebMatrix.WebData.SimpleRoleProvider, WebMatrix.WebData, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    <!-- note: WebMatrix registers SimpleRoleProvider with name
     'AspNetSqlRoleProvider'. I don't know why but i kept it. -->
  </providers>
</roleManager>

【问题讨论】:

  • 您不能同时使用简单会员和自定义提供程序。 SimpleMembership 自定义提供者。
  • 我知道,这不是问题所在。我会更新问题

标签: asp.net-mvc-4 entity-framework-5 membership-provider


【解决方案1】:

我通过从模板创建 MVC 4 解决了这个问题。我认为选择空模板时没有加载一些 DLL。所以我从模板创建了它并覆盖了所有帐户的方法并且还实现了自定义成员和角色提供者

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-11
    相关资源
    最近更新 更多