Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security ASP.NET MVC3如何更好地保护返回Json结果的操作_Security_Asp.net Mvc 3 - Fatal编程技术网

Security ASP.NET MVC3如何更好地保护返回Json结果的操作

Security ASP.NET MVC3如何更好地保护返回Json结果的操作,security,asp.net-mvc-3,Security,Asp.net Mvc 3,我有一个基于订阅id和订阅该内容的用户重新运行json结果的操作 所以,若用户订阅了订阅1,他将只能获取订阅1的数据,若用户订阅了订阅2,他将能够获取该订阅的数据。如果他订阅了1和2,那么他将能够获得相关内容1和2,依此类推 所以,问题是控制器是否能够防止未经授权的请求和没有取消订阅内容权限的用户 好吧,我能做的是: 1) 我可以使用[Authorize]属性保护我的控制器,这将防止对控制器的未经授权的请求。 2) 在每个请求中,我都会检查用户名,以及该用户是否真的被允许获取请求的内容 那么,我

我有一个基于订阅id和订阅该内容的用户重新运行json结果的操作

所以,若用户订阅了订阅1,他将只能获取订阅1的数据,若用户订阅了订阅2,他将能够获取该订阅的数据。如果他订阅了1和2,那么他将能够获得相关内容1和2,依此类推

所以,问题是控制器是否能够防止未经授权的请求和没有取消订阅内容权限的用户

好吧,我能做的是:

1) 我可以使用[Authorize]属性保护我的控制器,这将防止对控制器的未经授权的请求。 2) 在每个请求中,我都会检查用户名,以及该用户是否真的被允许获取请求的内容

那么,我到底安全了吗


在我实施上述两个步骤后,授权用户访问未订阅内容的难度有多大,非授权用户窃取内容的难度有多大?我是否应该考虑一些其他方法来更好地保护内容/网站?

我想说,如果您使用Authorize属性和/或IsInRole方法,从授权的角度来看,您应该没有问题。您需要确保您的身份验证也得到了很好的保护

例如: 使用OpenID提供者和依赖方的身份验证将满足身份验证。我用DotNetOpenAuth来做这个

授权将由类似定制分组系统的东西提供。我使用了基本的数据库关系来匹配openID提供的标识

除此之外,您还需要保护管道免受MITM攻击和嗅探。因此,您可以了解基于声明的安全性和一些用于避免带有时间戳的MITM攻击的技巧

然后,当然,把它放在https上

只要我的两分钱。我希望这会有点帮助。安全性是一个非常广泛和深入的话题,所以我只提供在哪里寻找的建议。我的方式肯定不是最好的