2013-07-03 82 views
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]

+0

使用[使用AllowAnonymous]上述控制器类 – Krish

回答

3

修改位置路径属性为我工作。

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

授权规则允许“*”只包括登录用户。对于匿名用户,请使用'?'代替:

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

有关ASP.NET授权规则的更多信息,请参阅MSDN

+0

不working.still去 – chamara

+0

登录页面,你有可能被匹配任何其他规则,这可能是一个更高的优先级? –