【问题标题】:mvc 5 controlling authorization for entire controller or entire view foldermvc 5 控制整个控制器或整个视图文件夹的授权
【发布时间】:2014-05-20 20:48:23
【问题描述】:

我有一个 mvc 5 应用程序,其中包含一个产品控制器和一个用于所有产品相关视图的相应视图文件夹。我想让这整个事情只有用户名“admin”的用户才能访问,而不是在每个控制器方法的顶部手动分配一个标签 [Authorize(Users = "admin")]。我尝试在 Product views 文件夹中添加一个新的 web.config,内容如下,但没有成功。

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

如果可以的话,这有可能实现吗?

提前致谢

【问题讨论】:

    标签: asp.net-mvc-5


    【解决方案1】:

    AuthorizeAttribute 既可以添加到特定方法上,也可以添加到控制器类上。第二个将影响该控制器中的每个操作方法。

    [Authorize(Users = "admin")] 
    public class AdminController
    {
        public ActionResult Index() { ... }
    }
    

    如果您想使用 Web.config,您必须记住 IIS 将根据 URL 加载 Web.config 文件,而不需要任何视图知识。因此,如果 URL 是 http://server/Products/Something,那么您必须将配置文件放在应用程序根目录中名为 Products 的文件夹中。或者,您可以在根 Web.config 文件中使用 &lt;location path="/Products"&gt;。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-05
      • 1970-01-01
      • 1970-01-01
      • 2018-08-05
      • 2014-09-25
      • 2016-01-24
      • 1970-01-01
      • 2018-05-06
      相关资源
      最近更新 更多