我已阅读了几篇与此问题相关的帖子,但无法找到正确的设置。
<configuration>
<system.web>
<authorization>
<allow roles="Administrator"/>
<deny users="*" />
</authorization>
</system.web>
</configuration>
以上是管理员文件夹的web.config
当我执行应用程序并尝试访问此文件夹时,我收到此错误
---无效的对象名称'dbo.aspnet_Users' - 这表明它仍在查看旧模型,但是从哪里来???
经过相当多的狩猎和啄食之后,我终于拥有了新模型(Asp Identity EF)的大部分其他功能。我可以添加和删除角色,添加和删除角色中的用户,列出角色中的用户,但我仍然坚持这一点。答案 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来控制对某些角色的访问。