表单身份验证 Cookie 缓存



我遇到了一个问题,我的authcookie在浏览器关闭时没有被删除,或者当其他用户登录时。

我的饼干在这里声明:

If ModelState.IsValid Then
                'check username and password
                If model.pwd = db.users.First(Function(t) t.NT_id = model.NT_id).pwd Then
                    'create an authentication cookie
                    FormsAuthentication.SetAuthCookie(model.NT_id, False) 'set to false to destroy cookie on browser close
                    'redirect action if login is successful
                    Return RedirectToAction("Construction", "Home")
                Else
                    ModelState.AddModelError("", "Invalid Username or Password")
                End If
            End If
            Return View(model)

我知道这不是删除cookie,因为我有一个变量可以向我显示cookie用户名

Public Shared uNT_id = If(HttpContext.Current.User.Identity.IsAuthenticated, HttpContext.Current.User.Identity.Name, System.Environment.UserName)

此问题已通过使用 get 将所有变量转换为属性来解决,并设置为阻止它们缓存。

Public Class userinfo
        Public Shared Property uNT_id As String
            Get
                If HttpContext.Current.User.Identity.IsAuthenticated Then
                    Return HttpContext.Current.User.Identity.Name
                Else
                    Return System.Environment.UserName
                End If
            End Get
            Set(value As String)
                If HttpContext.Current.User.Identity.IsAuthenticated Then
                    value = HttpContext.Current.User.Identity.Name
                Else
                    value = System.Environment.UserName
                End If
            End Set
        End Property
        Public Shared Property uid As String
            Get
                Return db_apps.app_users.First(Function(t) t.NT_id = uNT_id).app_user_id
            End Get
            Set(value As String)
                value = db_apps.app_users.First(Function(t) t.NT_id = uNT_id).app_user_id
            End Set
        End Property
        Public Shared Property ussn As Integer
            Get
                Return db_apps.app_users.First(Function(t) t.NT_id = uNT_id).ssn
            End Get
            Set(value As Integer)
                value = db_apps.app_users.First(Function(t) t.NT_id = uNT_id).ssn
            End Set
        End Property
        Public Shared Property upwd As String
            Get
                Return db_apps.app_users.First(Function(t) t.NT_id = uNT_id).pwd
            End Get
            Set(value As String)
                value = db_apps.app_users.First(Function(t) t.NT_id = uNT_id).pwd
            End Set
        End Property
        Public Shared Property uname_first As String
            Get
                Return db_apps.app_users.First(Function(t) t.NT_id = uNT_id).name_first
            End Get
            Set(value As String)
                value = db_apps.app_users.First(Function(t) t.NT_id = uNT_id).name_first
            End Set
        End Property
    End Class

相关内容

  • 没有找到相关文章

最新更新