2011-01-21 24 views
2

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

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

谁能帮助我?

在此先感谢。

回答

1

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

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

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

从会话变量存储,如:

Session["UserId"] = currentUserId; 
0

ASP.NET membership provider已经照顾这个要求。你有没有考虑过使用它?您可以管理您所有的身份验证,权限,角色和访问/编辑个人资料信息 - 您定义的信息。您可以通过成员资格对象访问数据,并且不需要编写一行SQL即可完成。它将为您节省大量工作,而不是试图重新发明轮子。

+0

通常我会推荐这种方法,但托马斯正在询问如何跟踪当前用户,以便他/她的个人信息可以正确显示。 – 2011-01-21 14:09:10

0

使用其他答案中所述的常规成员资格。然后利用Profile系统,以便每个用户在登录时查看/编辑他们的信息(每个问题)。 CAVEAT:ASP.NET配置文件系统仅适用于“网站”项目模板。如果要使用Web应用程序项目模板,然后按照下列步骤进行:

ASP.NET: Web Site versus Web Application Project

当你有配置文件并运行,配置文件数据可以被存储在会话对象,而在用户登录