【问题标题】:How to track and load a specific user's information?如何跟踪和加载特定用户的信息?
【发布时间】:2011-01-21 13:56:39
【问题描述】:

我正在 ASP.net(使用 C#.net4)中创建一个小型门户,用户可以在其中登录并添加、编辑他们的个人信息 (PI)。但是当特定用户登录时,我不知道如何在页面中加载信息(存储在 SQL 服务器数据库中)。

例如:如果 Sam 已登录,他可以查看他的 PI。当 Vicky 登录后,她可以查看她的 PI。

谁能帮我解决这个问题?

提前致谢。

【问题讨论】:

    标签: asp.net sql-server c#-4.0 enterprise-portal


    【解决方案1】:

    您需要将登录用户的 ID 保留在 session variable 中,然后使用它来过滤用于获取每个用户信息的查询。

    因此,如果用户的 ID 是 278,那么您的查询将运行为:

    SELECT first_name, last_name, * FROM user_table WHERE user_id = 278
    

    来自存储的会话变量:

    Session["UserId"] = currentUserId;
    

    【讨论】:

      【解决方案2】:

      ASP.NET membership provider 已经为您解决了这个问题。你考虑过使用它吗?您可以管理您定义的所有身份验证、权限、角色和访问/编辑配置文件信息。您可以通过成员资格对象访问数据,而无需编写一行 SQL 来执行此操作。它将为您节省大量工作,而不是尝试重新发明轮子。

      【讨论】:

      • 通常我也会推荐这种方法,但 Thomas 正在询问如何跟踪当前用户,以便正确显示他/她的个人信息。
      【解决方案3】:

      使用其他答案中所述的常规会员资格。然后利用个人资料系统,以便每个用户在登录时都可以查看/编辑他们的信息(根据问题)。警告:ASP.NET 配置文件系统仅适用于网站项目模板。如果您想使用 Web 应用程序项目模板,请按照此处的步骤操作:

      ASP.NET: Web Site versus Web Application Project

      当您启动并运行配置文件后,可以在用户登录时将配置文件数据存储在会话对象中。

      【讨论】:

        猜你喜欢
        • 2013-09-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-10
        • 1970-01-01
        • 2017-06-24
        • 2014-10-24
        • 2022-12-16
        相关资源
        最近更新 更多