如何在MVC4中使用身份验证时指定管理区域?

时间:2016-10-22 18:01:02

标签: asp.net-mvc asp.net-mvc-4 authentication c#-4.0 asp.net-mvc-areas

之前可能会问过这个问题,但我搜索了很多关于在MVC4中使用area提供安全实现的简单描述的教程。我关心的是,我的应用程序中有两个区域,分别命名为Admin和Public。现在我希望如果有人试图访问管理员页面,那么他首先面对登录页面,然后一旦验证凭据,用户就可以查看管理页面。现在我已经实现了ASP的默认身份验证模板,它允许我在有/无登录的情况下访问管理页面。所以为了安全起见我提供了

[Authorize()]

对于我想要保护的所有页面,现在这个过程正在运行,但仍然存在一个问题,即它给了我以下错误enter image description here

现在我不希望我的公共区域安全,所以我怎样才能使它专门针对管理区域。我想要除了显示

  

未经授权的访问

我怎样才能让它在登录页面上重定向,因为它曾经发生在传统的asp.net应用程序中。我在root web.config文件中进行了以下更改。

<authentication mode="Forms">
  <forms loginUrl="~/Areas/Admin/Account/Index"/>
</authentication>

提前致谢

1 个答案:

答案 0 :(得分:0)

您需要在arearegistration中添加区域路由。请记得在那里添加命名空间