我总是将用户的数据(在他们登录后)存储在 Session 变量中,因此我可以在任何页面上使用该数据。
我发现另一种全局存储信息的方法是将其存储在一个类中,使用{ get; set;}
,然后从任何页面调用它。
现在,我已经使用这两种方法作为测试,它们都工作得很好:
Session["LoginId"] = rdr["uniqueIdentifier"].ToString();
和
Member.LoginId = rdr["uniqueIdentifier"].ToString();
哪里(在Member.cs 中)
public class Member
{
public static int Challenges { get; set; }
public static int NicknameId { get; set; }
public static string LoginId { get; set; }
public static string FriendsListId { get; set; }
public static void ClearVariables()
{
Challenges = 0;
NicknameId = 0;
LoginId = null;
FriendsListId = null;
}
}
全球.asax
void Session_End(object sender, EventArgs e)
{
Member.ClearVariables();
}
我的问题是,将用户数据存储在这样的类中是否足够安全,还是我应该坚持使用Session
对象?
更新完整性 这篇文章会做类似上面的事情,但是对于多个用户? 如何从 ASP.NET 中的任何类访问会话变量?