0

Я пытаюсь захватить имя пользователя из моего AuthCookie, чтобы использовать для управления другими переменными. Куки определяется в индексе здесь:Преобразование FormsAuthentication cookie в строку для использования в общедоступной общей переменной

<HttpPost()> _ 
Public Function Index(model As users.LogOnModel) As ActionResult 
    'call LogOnModel 
    '-------------------------- 
    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) 
End Function 

Я пытаюсь объявить его в переменной здесь будет использоваться для управления другими переменными:

' User variables 
    '--------------------------- 
    Public Shared uNT_id = IF(HttpContext.Current.User.Identity.Name is nothing, System.Environment.UserName, Trycast(HttpContext.Current.User.Identity.Name, String)) 


    Public Shared uid = db_apps.app_users.First(Function(t) t.NT_id = uNT_id).app_user_id 
    Public Shared ussn = db_apps.app_users.First(Function(t) t.NT_id = uNT_id).ssn 
    Public Shared upwd = db_apps.app_users.First(Function(t) t.NT_id = uNT_id).pwd 
    Public Shared uname_first = db_apps.app_users.First(Function(t) t.NT_id = uNT_id).name_first 

    ' App variables 
    '--------------------------- 
    Public Shared appcount = db_apps.app_users.Count(Function(t) t.NT_id = uNT_id) 
    Public Shared Function appid_multiple() As String 
     Dim appidQ = From v In db_apps.app_users 
        Where v.NT_id = uNT_id 
        Select v 

     'Create a String representation 
     Dim stringList As New System.Text.StringBuilder 
     Dim counter As Integer = 0 
     For Each v In appidQ 
      stringList.Append(v.app_id.ToString()) 

      'Separator 
      If Not counter = appidQ.Count - 1 Then 
       stringList.Append(",") 
      End If 
      counter += 1 
     Next 
     Return stringList.ToString 
    End Function 
    Public Shared appid = db_apps.app_users.First(Function(t) t.NT_id = uNT_id).app_id 

Конечный результат uNT_id потребности в равной либо имя пользователя, они зайти на сайт с, или имя пользователя, они вошли на компьютер там с таким, например, шахта должна быть:

uNT_id = «z148658»

и то я бы использовал uNT_id для управления всеми этими другими переменными.

ответ

0

Следующий код возвращает строку, я пытаюсь вернуть

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

Однако, если пользователь входит в систему и завершает окно, которое должно убить печенье, то HttpContext.Current.User.Identity.Name является все равно эквивалентен последнему пользователю для входа в систему. То же самое выполняется, если новый пользователь пытается войти в систему.

 Смежные вопросы

  • Нет связанных вопросов^_^