在使用表单身份验证时,我很难理解如何访问特定的用户数据。
我已经为用户和管理员设置了表单身份验证。
当用户尝试登录时,运行代码如下:
protected void buttonLogIn_Click(object sender, EventArgs e)
{
string email = TextBoxEmail.Text.Trim();
string password = TextBoxPassword.Text.Trim();
UserType userType = UserType.User; //temporary value
string firstName = string.Empty;
string lastName = string.Empty;
bool success = DBAppLayer.AuthenticateLogIn(email, password, out userType, out firstName, out lastName);
if (success == true)
{
Session.Add("email", email);
Session.Add("firstname", firstName);
Session.Add("lastname", lastName);
switch (userType)
{
case DBDataLayer.UserType.User:
FormsAuthenticationUtil.SetAuthCookie(email, "User,", false);
Response.Redirect("~/User/UserDashboard.aspx", false);
break;
case DBDataLayer.UserType.Admin:
FormsAuthenticationUtil.SetAuthCookie(email, "Admin", false);
Response.Redirect("~/AdminArea/AdminDashboard.aspx", false);
break;
}
}
else
{
labelError.Text = "Bad username/password.";
}
}
这成功地将用户重定向到他们的仪表板。现在当用户在 /User/UserDashboard.aspx 中时,我想显示存储在数据库中的用户个人资料信息,例如用户的工作和年龄。
问题是,我不确定如何在 UserDashboard.cs 中访问此特定用户的数据。我需要创建身份验证票吗?如果是这样,我会在登录页面中执行此操作吗?
任何链接或建议将不胜感激。