我遇到了一个问题,我的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