2

我需要允许任何用户在没有登录的情况下进行控制器操作。

public class ItemController : Controller
    {
       public ActionResult WebGallery()
        {
           //code goes here
            return View("WebGallery");
        }
}

我在 web.config 中尝试了以下代码,但仍然重定向到登录页面。

  <location path="~/Item/WebGallery">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
  </location>

我使用表单身份验证但不使用基于角色的身份验证,所以我不能使用 [Authorize]

4

2 回答 2

3

修改位置路径属性对我有用。

<location path="Item/WebGallery">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
  </location>
于 2013-07-04T03:48:35.690 回答
-1

允许“*”的授权规则仅涵盖登录用户。对于匿名用户,请使用“?” 反而:

<location path="~/Item/WebGallery">
    <system.web>
        <authorization>
           <allow users="?" />
        </authorization>
    </system.web>
</location>

更多关于 ASP.NET 授权规则的信息可以在MSDN上找到。

于 2013-07-03T10:18:04.530 回答