我需要在没有登录的情况下允许任何用户执行控制器操作。
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]
答案 0 :(得分:3)
修改位置路径属性对我有用。
<location path="Item/WebGallery">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
答案 1 :(得分:-1)
允许'*'的授权规则仅涵盖已登录的用户。对于匿名用户,请使用“?”代替:
<location path="~/Item/WebGallery">
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</location>
有关ASP.NET授权规则的更多信息,请参见MSDN。