2011-07-15 51 views
0

我有一个操作,它基于订阅ID和订阅该内容的用户重新运行json结果。ASP.NET MVC3如何更好地确保返回Json结果的动作结果

因此,如果用户订阅了订阅1,他只能获得订阅1的数据,如果用户订阅订阅2,他就能够获取数据。如果他订阅了1和2,那么他将能够获得相关内容1和2等等。

所以问题是控制器从未经授权的请求和谁没有权限取消订阅内容的用户保护?

好吧我可以这样做:

1)我可以保证我的[授权]属性控制器,它会阻止未授权的请求控制器。 2)在每个请求中,我将检查用户名,并且该用户是否真的被允许获取请求的内容。

所以我保证了所有呢?

获得未授权用户访问未订阅内容的困难程度,以及在我实施上述两个步骤后,未授权用户窃取的困难程度如何?我是否应该考虑其他更好的内容/网站?

回答

0

我会说,如果您使用授权属性和/或IsInRole方法,您应该从授权立场罚款。您需要确保您的身份验证也很安全。

例如: 使用OpenID提供程序和依赖方的身份验证将满足Authentiation。我使用DotNetOpenAuth ...

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

除了那些你需要保护管道免受MITM攻击和嗅探。所以你可以看看基于索赔的安全性和一些技巧,以避免带时间戳的MITM攻击。

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

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