2013-02-25 80 views
0

我有一个MVC Web应用程序。它使用Forms auhtentification。阻止特定路由的身份验证

<authentication mode="Forms"> 
    <forms loginUrl="~/Account/LogOn" timeout="90" /> 
</authentication> 

我怎么能绕过这一个单一的路线,如xyz.com/us/ht/ht?

我想绕过整个功能,以防止获取aspxanonymous cookies,我不想在此路线的成员资格数据库中的条目。

回答

0

如果您使用的是MVC4,只需将[AllowAnonymous]标签添加到您的控制器操作中即可。

否则做它在你的web.config这样

<configuration> 
    <location path="route/thatanon/isallowed"> 
     <system.web> 
     <authorization> 
      <allow users="?"/> 
     </authorization> 
     </system.web> 
    </location> 
</configuration> 
+0

不是绕过authtentification。它允许匿名。我编辑我的问题更清楚。 – 2013-02-25 11:55:09

+0

这不会在您的会员资格数据库中创建条目。你为什么担心匿名cookie? – 2013-02-25 12:17:50

+0

它是一个关联伙伴登陆页面。通常你会把这个页面放在mvc之外,但它在里面。匿名验证默认存储在配置文件表中。我每天从联盟合作伙伴那里获得1.000.000+以上的请求,所以完全禁用它会很好。正确的解决方案是将这些登陆页面放在外面的静态HTML文件,但如果有办法绕过匿名的东西,我会这样做。 – 2013-02-25 13:23:45

0

一个解决这个办法就是使用自定义AnonymousIdentificationModule的路线/美国/ HT/HT /。

的东西在这里处理 - >

System.Web.Security.AnonymousIdetificationModule

相关问题