2015-07-12 87 views
0

我经历了许多博客文章,描述如何使用[ValidateAntiForgeryToken]属性验证我们Web应用程序中的用户。但是这具有限制,例如只能用于HTTPPOST方法。我的要求是我有一个MVC 5应用程序,它使用HTTPGET方法返回敏感数据(例如:银行对账单)。如何从匿名用户授权/保护这些操作方法? 我想写一个基于令牌的授权机制。如何保护MVC5中的HTTPGET方法

回答

2

您是对的 - ValidateAntiForgeryToken可缓解跨站点请求伪造(CSRF)。它特定于POST,因为它可以关联服务器发出的响应,以及从用户发布的HTML。 GETs没有CSRF的概念。

要保护匿名用户的GETS,请使用[Authorize]属性的任何方法,您需要用户登录到网站。如果他们不是,他们将被重定向到登录部分,如web.config中配置。

+0

谢谢多米尼克。我的问题是用户被分配到具有一组功能的动态角色。角色正在分配用户。因此,我不能将它标记为[Authorize(Role =“Adminstrator”)] – Rama

+0

@Ajith:这将要求用户至少登录,因此拒绝匿名访问。 –