大家好,
有关的另一个问题是,我问:
如何安全/不安全是安全相关的信息存储在会话变量?
我不谈论用户名/密码或类似的,但是,例如,对用户所属的"角色",如果他有特定的权限。
我想使用会话变量设置的"安全配置"的用户在登录和减少每次检查权限访问数据库的方法,但,obvusly我不会做它,如果它造成了威胁。
将separatedly处理不同的控件(检查是否用户例如autenticated的)
是有可能为用户随意更改会话变量的值?
此外,怎么可能是"偷"另一个会话cookie并获得"保留"数据,为用户
谢谢你在前进,
阿尔贝托
[更新]
为了更好地解释应用程序的情况:
用户属于不同的"公司",每家公司是一个"孤立"的环境(公司用户A不能看到用户和B公司的业务)
这就是说,一个特定公司的用户可以属于一个或多个"公司组",并有其他特定的权限,这是每一个公司的基础上定义,我觉得很难使用ASP.NET角色的成员来实现这一(公司管理员不能看到其他公司的团体)。
目前,用户身份验证的应用程序使用标准的ASP.NET mebership提供商,检查所需的基础ASP.NET角色。
在这之后,每次用户请求数据到数据库中,我不得不为:
- 检查哪个公司的用户属于
- 检查到该公司的角色,用户所属
- ...等等其他特定的用户权限
- 更多科比拉出只允许用户看到的数据
这个想法是在日志设置会话变量的所有额外的安全信息。在每个请求,ASP.NET身份验证将自动检查,如果用户进行身份验证,我会确认额外的安全信息的会话变量。
所以,如果UserA的是偷两个的asp.net authcookie和会话状态的UserB的能力,他obvusly可以访问数据,就好像是用户B,而如果他能偷只有一个,theorically我有一个额外的安全级别(例如,如果从用户B UserA的抢断会议,但没有与authcookie的可加工,我可以阻止用户)
其他probelm我要考虑的是:有没有办法UserA的身份可以通过改变手动会话状态变量,这样他就可以手动添加角色和他的本届会议的权限)
可能出现的问题是一个完整的HTTPS应用程序仍然有效。
感谢土特产品AGIN,
阿尔贝托