我在ASP.net MVC中使用自动创建的身份验证,我在创建网站时选择了个人用户帐户。我也有一些模型,我使用一个名为“带有视图的MVC 5控制器,使用EntityFramework”的选项自动重新创建控制器和视图。我的问题是,我可以直接访问控制器而无需登录网站,我也需要对这些视图进行身份验证。我是否需要添加一些代码行:
public class myclass : IdentityUser {}
控制器中的任何东西?
答案 0 :(得分:0)
通过[Authorize]
属性强制执行身份验证。您将此属性放在控制器类或操作上。
向所有视图添加身份验证的快速简便方法是全局注册authorize属性。您可以在FilterConfig
类中执行此操作,如下所示:
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new AuthorizeAttribute());
}
}
然后在Global.asax.cs Application_Start()
中你这样称呼它:
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
现在每个控制器都需要身份验证。如果您需要允许匿名访问特定控制器或操作,则可以添加[AllowAnonymous]
属性。