登录成功后立即获取用户名和身份

时间:2015-06-20 14:52:54

标签: jquery vb.net asp.net-identity

我正在使用ASP.NET Identity 2.0。

登录成功后,我想获取用户名和身份(已成功登录的用户)。

我尝试了以后没有成功

If IsValid Then
Dim manager = Context.GetOwinContext().GetUserManager(Of ApplicationUserManager)()

Dim signinManager = Context.GetOwinContext().GetUserManager(Of ApplicationSignInManager)()

Dim result = signinManager.PasswordSignIn(UName.Text, Password.Text, RememberMe.Checked, shouldLockout:=False)

        Select Case result

            Case SignInStatus.Success

SignInStatus.Success

之后尝试了这一点
 Dim usid = signinManager.GetVerifiedUserId

或者

Dim usid =User.Identity.Name

或者

Dim usid =  User.Identity.GetUserId

我可以在重新加载页面时获取用户ID和名称。但我无法通过编程方式重新加载页面

Response.Redirect(Request.RawUrl)

ScriptManager.RegisterStartupScript(Me.Page, Me.GetType(), "reload", "reloadPage()", True)

我做错了什么? 注意:我在此页面上使用jQuery Mobile。

2 个答案:

答案 0 :(得分:0)

您只需在用户登录时设置用户信息。您应该每次在load事件中获得用户ID。如果您不使用session或viewstate,请确保在!IsPostback()块之外编写代码。

答案 1 :(得分:0)

嗯,我决定使用一点常识,而不是与代码或API作斗争。(时间也很重要!!) 一旦用户成功登录(Case SignInStatus.Success)然后为什么要挑剔,我通过使用他输入的用户名获得此特定用户。

Dim thisUser = manager.FindByName(UName.Text)

然后通过

获取其他信息
Dim thisUserId As String = thisUser.Id.ToString
Dim thisUserEmail As String = thisUser.Email
etc. etc.