ASP.NET MVC站点的授权

时间:2009-09-24 12:39:45

标签: asp.net-mvc authorization

我有一个数据驱动的asp.net mvc应用程序。页面的URL也是数据驱动的,因此无法在web.config中对其进行硬编码。 我们已准备好部署网站,最初几天我们希望只有在登录后才能访问这些页面。

是否可以向网站添加授权,然后仅通过更改web.config将其取出? 我添加了这个:

<authentication mode="Forms">
  <forms loginUrl="Login.aspx" timeout="20">
    <credentials passwordFormat="Clear">
      <user name="admin" password="adminpwd" />
    </credentials>
  </forms>
</authentication>
<authorization>
  <deny users="?" />
</authorization>

然而,这不起作用。

我也尝试了位置标记,但不确定要指定的路径。

  <location>
    <system.web>
      <authorization>
        <deny users="?" />
      </authorization>
    </system.web>
  </location>

请注意:默认错误页面无需授权即可使用

<customErrors mode="Off" defaultRedirect="/error">
</customErrors>

你能帮忙吗?

谢谢!

3 个答案:

答案 0 :(得分:1)

你试过了吗?

<authorization>
  <deny users="?" />
  <allow users="*" />
</authorization>

自上而下评估,因此首先拒绝所有匿名用户,然后允许所有其他用户(即所有经过身份验证的用户)

答案 1 :(得分:1)

可能是Controllers Actions上的[Authorize]属性?也许this会有所帮助。

答案 2 :(得分:0)

这是否只是在生产服务器上进行测试时的临时限制?如果是这样,您可以尝试常规HTTP Authentication