0

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

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

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

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

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

4

1 回答 1

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

但如前所述,这是非常简单的。您最好使用一些会话管理技术,例如本示例中的技术。

于 2012-10-25T10:08:28.257 回答