首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FormsAuthentication Cookie缓存

FormsAuthentication Cookie缓存
EN

Stack Overflow用户
提问于 2013-09-06 18:13:29
回答 1查看 157关注 0票数 0

我遇到了一个问题,在浏览器关闭时,或者当不同的用户登录时,我的authcookie没有被丢弃。

我的饼干在这里声明:

代码语言:javascript
复制
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用户名

代码语言:javascript
复制
Public Shared uNT_id = If(HttpContext.Current.User.Identity.IsAuthenticated, HttpContext.Current.User.Identity.Name, System.Environment.UserName)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-06 21:08:24

这是通过将所有变量转换为带有get并设置为阻止它们缓存的属性来解决的。

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18664048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档