登录控制无法登录

时间:2015-05-15 11:43:57

标签: asp.net vb.net google-chrome internet-explorer

我一直在使用VS 2013并使用Bootstrap模板创建了一个Asp.Net Web表单应用程序。我有一个登录控件,它使用SQL中的AspNet表执行所有默认行为。当我在IDE中运行时,我在任何浏览器登录网站(IE,Chrome)都没有问题。我在运行时非常善于使用IE。

但是,我已将该站点部署到我的本地服务器进行测试,并且它在IE中停止工作。会发生什么事情是通过验证用户名/密码,进入重定向但用户从未登录。

如果我在我的电脑上使用chrome浏览服务器它会正常工作如果我在IE中做同样的事情它在95%的时间内不能工作但我偶尔设法登录。我已经要求其他同事尝试,Chrome对大多数人或IE都不起作用。我也试过我的ipad chrome会起作用但safari赢了!

所以在文件startup.auth.vb

部分公共类启动

' For more information on configuring authentication, please visit http://go.microsoft.com/fwlink/?LinkId=301883
Public Sub ConfigureAuth(app As IAppBuilder)
    'Configure the db context, user manager and signin manager to use a single instance per request
    app.CreatePerOwinContext(AddressOf ApplicationDbContext.Create)
    app.CreatePerOwinContext(Of ApplicationUserManager)(AddressOf ApplicationUserManager.Create)
    app.CreatePerOwinContext(Of ApplicationSignInManager)(AddressOf ApplicationSignInManager.Create)

    ' Enable the application to use a cookie to store information for the signed in user
    app.UseCookieAuthentication(New CookieAuthenticationOptions() With {
        .AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
        .Provider = New CookieAuthenticationProvider() With {
            .OnValidateIdentity = SecurityStampValidator.OnValidateIdentity(Of ApplicationUserManager, ApplicationUser)(
                validateInterval:=TimeSpan.FromMinutes(10),
                regenerateIdentity:=Function(manager, user) user.GenerateUserIdentityAsync(manager))},
        .LoginPath = New PathString("/Account/Login")})

    ' Use a cookie to temporarily store information about a user logging in with a third party login provider
    app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie)

    ' Enables the application to temporarily store user information when they are verifying the second factor in the two-factor authentication process.
    app.UseTwoFactorSignInCookie(DefaultAuthenticationTypes.TwoFactorCookie, TimeSpan.FromMinutes(5))

    ' Enables the application to remember the second login verification factor such as phone or email.
    ' Once you check this option, your second step of verification during the login process will be remembered on the device where you logged in from.
    ' This is similar to the RememberMe option when you log in.
    app.UseTwoFactorRememberBrowserCookie(DefaultAuthenticationTypes.TwoFactorRememberBrowserCookie)

  End Sub
End Class

然后点击我的登录按钮

Protected Sub LogIn(sender As Object, e As EventArgs)
    If IsValid Then
        ' Validate the user password
        Dim manager = Context.GetOwinContext().GetUserManager(Of ApplicationUserManager)()
        Dim signinManager = Context.GetOwinContext().GetUserManager(Of ApplicationSignInManager)()

        ' This doen't count login failures towards account lockout
        ' To enable password failures to trigger lockout, change to shouldLockout := True
        Dim result = signinManager.PasswordSignIn(Email.Text, Password.Text, RememberMe.Checked, shouldLockout:=True)

        Select Case result
            Case SignInStatus.Success
                IdentityHelper.RedirectToReturnUrl(Request.QueryString("ReturnUrl"), Response)
                Exit Select
            Case SignInStatus.LockedOut
                Response.Redirect("/Account/Lockout")
                Exit Select
            Case SignInStatus.RequiresVerification
                Response.Redirect(String.Format("/Account/TwoFactorAuthenticationSignIn?ReturnUrl={0}&RememberMe={1}",
                                                Request.QueryString("ReturnUrl"),
                                                RememberMe.Checked),
                                  True)
                Exit Select
            Case Else
                FailureText.Text = "Invalid login attempt"
                ErrorMessage.Visible = True
                Exit Select
        End Select
    End If
  End Sub
End Class

0 个答案:

没有答案