【问题标题】:Starting an ending a user session开始结束用户会话
【发布时间】:2012-10-10 03:57:04
【问题描述】:

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

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

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

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

那么我调用的 .net 类和方法是什么。我假设大多数人都在使用预构建的 MS 登录解决方案,这就是我努力寻求答案的原因。

【问题讨论】:

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


    【解决方案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 中的技术。

    【讨论】:

      猜你喜欢
      • 2015-06-28
      • 1970-01-01
      • 1970-01-01
      • 2014-10-30
      • 1970-01-01
      • 1970-01-01
      • 2020-05-10
      • 2018-05-30
      • 2011-01-11
      相关资源
      最近更新 更多