我对用户会话管理感到困惑,我使用的是2010 express和VB。
我有一个函数可以将用户名和密码发送到我的数据库和存储过程,如果用户有效则返回布尔值。
我的问题是,如果用户有效,您如何开始会话。我根据msdn docs将cookies设置为auto和session inproc。
因此,如果我的函数返回true,我该如何开始会话?
那么我调用的.net类和方法是做什么的。我假设大多数人都使用预建的MS登录解决方案,这就是为什么我很难得到答案。
答案 0 :(得分:1)
在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
但如上所述,这非常简单。您最好使用某些会话管理技术,例如this example中的会话管理技术。