根据asp.net Identity VS2013中的角色管理对文件夹的访问

时间:2014-04-21 01:15:23

标签: asp.net-identity

我已阅读了几篇与此问题相关的帖子,但无法找到正确的设置。

<configuration>
    <system.web>
     <authorization>
        <allow roles="Administrator"/>
        <deny users="*" />
      </authorization>
     </system.web>
   </configuration>

以上是管理员文件夹的web.config

当我执行应用程序并尝试访问此文件夹时,我收到此错误

---无效的对象名称'dbo.aspnet_Users' - 这表明它仍在查看旧模型,但是从哪里来???

经过相当多的狩猎和啄食之后,我终于拥有了新模型(Asp Identity EF)的大部分其他功能。我可以添加和删除角色,添加和删除角色中的用户,列出角色中的用户,但我仍然坚持这一点。

1 个答案:

答案 0 :(得分:0)

您不会将此信息与ASP.NET身份一起放在web.config中。你应该在你的web.config中有这个。

<system.webServer>
<modules>
  <remove name="FormsAuthenticationModule" />
</modules>

删除web.config中对成员资格的任何其他引用。配置在Startup.Auth.cs文件中设置,看起来应该是这样的。

public partial class Startup
{
    public void ConfigureAuth(IAppBuilder app)
    {
        // Enable the application to use a cookie to store information for the signed in user
        app.UseCookieAuthentication(new CookieAuthenticationOptions
        {
            AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
            LoginPath = new PathString("/Account/Login")
        });
        // Use a cookie to temporarily store information about a user logging in with a third party login provider
        app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);

    }
}

您可以使用Controller或Action级别的AuthorizeAttribute来控制对某些角色的访问。