我有一个Asp.Net MVC4网站,可以连接到多个数据库取决于用户的登录凭证。为了获得用户的数据库访问列表,我必须在用户登录时执行一些复杂的连接。为了避免多次执行此操作,我目前正在加密数据库ID并将其存储在cookie中。我现在意识到这可能不是一个好主意,甚至强加密也可能被破解。此外,每次请求增加流量时,加密的cookie都会被传输。我现在正在考虑使用HttpContext.Current.Cache来存储数据。有谁能评论一下这是不是一个好主意。我也有兴趣知道是否有更好的选择。我的网站现在没有部署在服务器群上,但是如果我将来使用缓存和服务器群,会有什么影响呢?
发布于 2012-12-06 00:22:23
根据您的需求(例如,在会话期间保留敏感的用户特定信息),正确的位置是SessionState。AFAIK会话状态可以在多个web服务器之间共享,因此如果您使用了服务器群,则不需要更改任何内容。
发布于 2012-12-06 00:17:29
会话是用户敏感数据的正确容器。或者,您可以将其存储在数据库中,并通过存储在会话中的某个标识符将其存储在数据库中(如果您存储大量数据,这将非常有用)。
https://stackoverflow.com/questions/13727121
复制相似问题