允许使用ASP-MVC和表单身份验证访问特定页面

qui*_*qui 5 security asp.net-mvc forms-authentication

以下是我的视图的目录布局的简单概述:

项目

  • 第1页
  • 第2页
  • RSS

问题

  • 第1页
  • 第2页
  • RSS

我正在使用表单身份验证来拒绝所有未经身份验证的用户访问,这很好.但是,我希望能够向所有人授予访问RSS视图的权限(因此他们可以通过谷歌阅读器和东西订阅)

我了解您可以通过将以下页面添加到web.config来授予对页面的访问权限

  <location path="TOURPAGE.aspx">
<system.web>
  <authorization>
    <allow users="*" />
    <allow users="?" />
  </authorization>
</system.web>
Run Code Online (Sandbox Code Playgroud)

但是,我如何使用动态制作的URL进行此操作,例如:

Issues/RSS/chrisj
Run Code Online (Sandbox Code Playgroud)
  • 该路径映射到称为RSS的问题中的控制器,该问题采用用户名并吐出其问题的RSS ...

编辑

我认为已经修复了一些答案,但是:

看来,至少在我的情况下,您仍然需要身份验证cookie才能看到该页面.只要你有cookie,就可以注销并查看它.

这对我来说不好,我需要页面完全公开,因为它是一个RSS提要.

Cha*_*ino 3

忘记 <location><allow /><deny /> 的东西......听起来你需要在你的操作上使用 [Authorize] 属性。

查看这些页面以获取更多信息: http://www.asp.net/learn/mvc/tutorial-17-cs.aspx http://www.pnpguidance.net/post/ASPNETMVCFrameworkPreview4HandleErrorAuthorizeOutputCacheActionFilterAttributes.aspx

此外,该属性也可以应用于控制器级别,因此您不必将其放在每个单独的操作上。