我有一些“开箱即用” .NET验证码:净Owin身份验证失败......在一个奇怪的方式
Dim manager = Context.GetOwinContext().GetUserManager(Of ApplicationUserManager)()
Dim signinManager = Context.GetOwinContext().GetUserManager(Of ApplicationSignInManager)()
Dim result = signinManager.PasswordSignIn(Email.Text, Password.Text, RememberMe.Checked, shouldLockout := False)
Select Case result
Case SignInStatus.Success
IdentityHelper.RedirectToReturnUrl(Request.QueryString("ReturnUrl"), Response)
Exit Select
我有本地的,Facebook和谷歌认证所有工作。
现在,非常奇怪的部分。
用户1登录,没问题
用户2个日志中...返回 “SignInStatus.Success”,而是 “HttpContext.Current.User.Identity” 是什么。
但是等待!还有更多!
如果我打开并保存web.config(不作任何更改),用户2现在可以登录! 现在我有2个登录的用户,第三个不一样:无法登录,直到我保存web.config文件(这将重新启动应用程序池)
所以,问题是:跆拳道是怎么回事?
还在这里敲我的头。我的开发机器上发生的情况与服务器上的情况相同。您必须在每个用户登录后或下一个用户失败时重新启动应用程序池 –
另请注意,在以“用户2”身份登录时,如果输入错误密码,则它会失败。如果我注册一个新用户,它也表现出相同的行为...除非我第一次重新启动应用程序池 –
,否则新用户不会登录。这里有两件事:(1)您似乎只是使用Identity认证框架,你可能不需要OWin,除非你在Facebook和Google上引用了OAuth;没有你的其他代码,我无法分辨你需要的Owin在哪里; (2)你是如何注册ApplicationUserManager的,只要你把它注册为singleton? – sowen