当我构建需要用户登录的 asp.net 应用程序时,我在我的业务类中编写了一个方法,如果用户已登录则返回一个 Member 对象实例,否则返回 null。然后我这样做:
Session["User"] = user;
然后在每个页面加载中我必须实现这个:
User user = Session["User"] as User;
if(null==user){
//toggle the state of ascx, to show username/password boxes again,
//Response.Redirect("somewhere else") etc...
}
这看起来很有效,但这是一个好方法吗? 因为有时 Session 不再返回该对象。它发生在 20 分钟之前,这是 session 的默认超时。这有什么原因吗?当我在测试期间进行多次回发时,它是随机发生的。
提前致谢。
最佳答案
您不能使用 Viewstate - 它的范围是当前页面。 为什么不使用表单例份验证?它为您完成所有这一切,甚至更多,包括在数据库中保留用户帐户。
关于asp.net - asp.net 用户登录信息存放在什么地方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1812638/