gpt4 book ai didi

authentication - MVC 4 : Keeping static data throught session

转载 作者:行者123 更新时间:2023-12-04 05:29:11 26 4
gpt4 key购买 nike

在用户登录到我的 ASP.Net MVC 4 网站后,我需要保留一些关于用户的静态数据。一切都连接在 CaSTLe Windsor 容器中。

登录过程调用身份验证服务,该服务返回用户数据,这是 session 中稍后处理和其他服务调用所需的。

我看过这个帖子:MVC Custom Authentication, Authorization, and Roles Implementation .但问题是它在静态类中使用了servicelocation,这是有问题的。

我应该如何在这样的设置中存储用户数据以在整个 session 中使用?

编辑:
我正在使用持久性 cookie,所以当用户返回站点时,我需要以某种方式重新创建我的用户数据。

最佳答案

在您授权用户并从数据库中检索用户详细信息后,在您的 LogOn 方法中,您可以将它们存储在 session 中:

UserDetail details = ...
Session["user_details"] = details;

稍后当您需要它们时:
UserDetail details = Session["user_details"] as UserDetail;

作为替代方案,您可以编写自定义 MembershipProvider,如果存在,它将从 session 中读取此信息,如果不存在,它将查询数据库以检索它。

另一种可能性是通过覆盖 AuthorizeCore 方法来拥有自定义 Authorize 属性,您可以在该方法中设置包含用户详细信息并从 session 中读取的自定义主体。

关于authentication - MVC 4 : Keeping static data throught session,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12835809/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com