基于web.config设置禁用asp.net MVC4中的帐户控制器

时间:2013-06-14 15:41:37

标签: asp.net asp.net-mvc

我有一个ASP.NET MVC4应用程序,我希望通过web.config中的设置轻松启用/禁用AccountController。因为我想注册和登录一段时间,然后开放公开。我对最佳方法有点不确定。

非常感谢

2 个答案:

答案 0 :(得分:1)

有关于此主题的现有StackOverflow问题,其中自定义属性值应用于控制器,该控制器从web.config读取值并允许使用控制器或404s,我不确定是什么你正在寻找,但它可能会引导你朝着正确的方向前进。

另一种可能性是URL重写。

以下是其他问题:Conditionally Disable ASP.NET MVC Controller

答案 1 :(得分:0)

<system.web>
  <!-- anonymous usage -->
  <authentication mode="None"></authentication>
  <!-- Forms login -->
  <!--<authentication mode="None">
    <forms ... />
  </authentication>-->
</system.web>

这就是你要找的东西吗?请注意,这不会“禁用”AccountController,但会使其变得微不足道,因为有效地禁用了身份验证。但是,如何在显示登录/注销按钮或在允许的情况下在页面上显示没有凭证处理的情况下编写网站。

你可以创建一个AuthorizeAttrbiute的扩展,检查Context.User.Identity.AuthenticationType并根据web.config中提供的身份验证mod允许/拒绝访问(然后将该属性应用于AccountControllermode="None"时要限制的(以及任何其他操作)。