【问题标题】:Storing user language as Claims将用户语言存储为声明
【发布时间】:2014-09-09 19:45:21
【问题描述】:

在我正在开发的 ASP.NET MVC 应用程序中,我认为我可以将用户语言存储为声明,这样我就不必访问数据库或处理会话。这有什么缺点吗?

【问题讨论】:

  • 我会说使用声明是非常成功的。它在 cookie 中,在每个请求中都可用,没有 db-requests 并且速度很快。缺点?到目前为止还没有找到。只要您不因索赔而发疯,也不要添加一百万个索赔来夸大其词。

标签: asp.net-mvc asp.net-identity claims


【解决方案1】:

如果用户不能通过应用程序更改用户语言,我认为这里没有任何重大缺陷。 相反,如果用户可以在您的应用程序中修改它的语言,您将不得不刷新您的身份验证令牌 - 这是您应该考虑的事情。

另一个缺点是,你添加到令牌中的声明越多,它就越大,但在这种情况下它真的可以忽略不计。

顺便说一句,你为什么反对会话(我认为在这里使用它并没有那么糟糕......)?

【讨论】:

  • 当用户更改其语言时,我注销并再次登录以重新创建 cookie。另外,我并不是真的反对使用会话,但我必须注意在用户注销时重置会话变量以及在这种情况下我不喜欢的其他一些事情。
  • 这样做是否有任何其他原因,或者只是为了语言?
  • 现在是翻译。我需要在接下来的迭代中更改 UICulture 等...
  • 您可以通过这种方式使用身份验证令牌作为会话密钥,每次用户登录时他都会有一个新会话...
  • 好吧,这是您的电话...我可以说我们开发了多租户、本地化、大规模的 Web 应用程序,并且我们在会话中存储了这种数据 - 到目前为止没有任何问题在我们的例子中方法。
猜你喜欢
  • 2022-08-14
  • 2020-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-04
  • 2019-05-26
  • 2011-01-21
  • 2011-02-28
相关资源
最近更新 更多