我有一个 Asp.Net MVC4 网站,它可以根据用户的登录凭据连接到多个数据库。为了获得用户的数据库访问列表,我必须在他们登录时执行一些复杂的连接。为避免多次执行此操作,我目前正在加密数据库 ID 并将其存储在 cookie 中。我现在意识到这可能不是一个好主意,甚至强加密也可能被破坏。此外,加密的 cookie 会在每次请求增加流量时传输。我现在正在考虑使用 HttpContext.Current.Cache 来存储数据。任何人都可以评论这是否是一个好主意。我也很想知道是否有更好的选择。
user1625066
问问题
723 次
2 回答
1
根据您的要求(即在会话中保留敏感的用户特定信息),正确的位置是SessionState。AFAIK 会话状态可以在多个 Web 服务器之间共享,因此如果您确实使用了服务器场,则无需更改任何内容。
于 2012-12-05T16:22:23.117 回答
0
会话是用户敏感数据的正确容器。或者您可以将其存储在数据库中并通过存储在会话中的某个标识符将其获取到那里(如果您存储大量数据,这很有用)。
于 2012-12-05T16:17:29.277 回答