我对用户会话管理感到困惑,我使用的是 2010 express 和 VB。
我有一个函数将用户名和密码发送到我的数据库和一个存储过程,如果用户有效则返回布尔值。
我的问题是用户是否有效,您如何开始会话。根据 msdn 文档,我将 cookie 设置为 auto 和 session inproc。
因此,如果我的函数返回 true,我该如何开始会话?
那么我调用的 .net 类和方法是什么。我假设大多数人都在使用预建的 MS 登录解决方案,这就是为什么我很难得到答案。
我对用户会话管理感到困惑,我使用的是 2010 express 和 VB。
我有一个函数将用户名和密码发送到我的数据库和一个存储过程,如果用户有效则返回布尔值。
我的问题是用户是否有效,您如何开始会话。根据 msdn 文档,我将 cookie 设置为 auto 和 session inproc。
因此,如果我的函数返回 true,我该如何开始会话?
那么我调用的 .net 类和方法是什么。我假设大多数人都在使用预建的 MS 登录解决方案,这就是为什么我很难得到答案。
一旦您在 web.config 文件中配置了会话(我假设您已经这样做了),会话就会在 ASP.NET 中自动启动。转到项目中的 Global.asax 文件(或添加一个)以在创建会话后运行额外的代码。(注意:这并不意味着有登录。会话是自动创建的。)
在非常原始的基础上,您可以将登录信息存储在 Session 对象中:
' check login credentials
Public Sub Login(user As String, pwd As String)
Dim authenticated As Boolean = False
' db authentication check here
If authenticated Then
HttpContext.Current.Session("authenticated") = True
Else
Throw New Exception("not authenticated!")
End If
End Sub
' logout user
Public Sub Logout()
HttpContext.Current.Session("authenticated") = False
End Sub
' check if user is logged in
Public Function IsAuthenticated() As Boolean
Return HttpContext.Current.Session("authenticated") = True
End Function
但如前所述,这是非常简单的。您最好使用一些会话管理技术,例如本示例中的技术。