我正在使用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。
答案 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.