小编Phi*_*hil的帖子

用户角色 - 为什么不在会话中存储?

我正在将一个ASP.NET应用程序移植到MVC,并且需要存储与认证用户相关的两个项目:角色列表和可见项目ID列表,以确定用户可以看到或看不到的内容.

我们过去曾使用WSE和Web服务,这使得事情变得异常复杂,无法正常调试.现在,我们正在放弃我正在寻求的Web服务,以简单地简化解决方案,只是为了将这些东西存储在会话中.一位同事建议使用角色和成员资格提供者,但在研究这个问题时我发现了一些问题:

a)它遇到了与WSE类似但不同的问题,因为它必须以非常有限的方式使用,即使编写测试它也很棘手;

b)RolesProvider唯一的缓存选项基于我们因安全原因而拒绝的cookie;

c)它引入了并发症和额外不必要的行李;

简而言之,我们想要做的就是在用户的会话中存储两个字符串变量或以安全的方式存储等价物,并在需要时引用它们.到目前为止,似乎是一个十分钟的工作需要花费几天时间进行调查,并且为了解决我们现在发现会话ID显然是伪造的问题,请参阅

http://blogs.sans.org/appsecstreetfighter/2009/06/14/session-attacks-and-aspnet-part-1/

我一直认为没有简单的方法来完成这项非常简单的工作,但我发现无法相信.

谁能:

a)提供有关如何使ASP.NET MVC会话安全的简单信息,因为我一直认为它们是安全的?

b)建议另一种简单的方法来为登录用户的角色等存储这两个字符串变量,而不必像上面所描述的那样用另一个替换一个复杂的噩梦?

谢谢.

asp.net asp.net-mvc session roles

10
推荐指数
2
解决办法
6624
查看次数

标签 统计

asp.net ×1

asp.net-mvc ×1

roles ×1

session ×1