开始结束用户会话

时间:2012-10-10 03:57:05

标签: asp.net vb.net session session-state

我对用户会话管理感到困惑,我使用的是2010 express和VB。

我有一个函数可以将用户名和密码发送到我的数据库和存储过程,如果用户有效则返回布尔值。

我的问题是,如果用户有效,您如何开始会话。我根据msdn docs将cookies设置为auto和session inproc。

因此,如果我的函数返回true,我该如何开始会话?

那么我调用的.net类和方法是做什么的。我假设大多数人都使用预建的MS登录解决方案,这就是为什么我很难得到答案。

1 个答案:

答案 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中的会话管理技术。