2012-02-08 166 views
1

如果有任何风险或使用WindowsAuthentication_OnAuthenticate事件来创建一个FormsAutnetication票来存储用户的角色参与了我的陷阱,我不知道。我从几个不同的查询中获取这些角色(我没有权限更改数据库模式,所以......)。我不想使用ASP.NET的角色经理,我担心的是,如果我不使用一个Cookie(至少一个期限是30分钟左右),那么性能可能是一个问题,因为WindowsAuthentication_OnAuthenticateis将被调用为每个请求我会不断地做这些db调用(更不用说必须解密cooke并为Application_AuthenticateRequest事件上的Context创建自定义主体)。使用窗体身份验证cookie中缓存角色 - (Windows身份验证)

回答

3

是,也不是。如果它的危害是的,如果不是没有。从安全角度来看这不是一个好主意,这已被破坏,虽然快速修补(见诗人漏洞) 这是由你来决定,如果风险是值得的,它通常ISN”吨。

为什么不考虑而不是只有缓存和服务器端缓存来存储这些数据为空,那么检查的角色?

+0

优秀的服务器端缓存它。谢谢! – enamrik 2012-02-09 02:19:43

+0

出于好奇,你会为此任务建议使用哪种服务器端缓存方法?会议不可用,HttpContext.Current.Cache或HttpRuntime.Cache似乎导致我的问题上IIS7(虽然在IIS 6,做工精细) – dougajmcdonald 2012-03-13 14:04:01

+0

具体什么是HttpRuntime.Cache问题? – 2012-03-13 18:00:39