SignInManager now checks lockout support
This commit is contained in:
parent
f36ca3fb33
commit
bfbd8892a1
|
|
@ -167,7 +167,7 @@ namespace Microsoft.AspNet.Identity.Security
|
||||||
{
|
{
|
||||||
return SignInStatus.Failure;
|
return SignInStatus.Failure;
|
||||||
}
|
}
|
||||||
if (await UserManager.IsLockedOutAsync(user))
|
if (UserManager.SupportsUserLockout && await UserManager.IsLockedOutAsync(user))
|
||||||
{
|
{
|
||||||
return SignInStatus.LockedOut;
|
return SignInStatus.LockedOut;
|
||||||
}
|
}
|
||||||
|
|
@ -177,7 +177,7 @@ namespace Microsoft.AspNet.Identity.Security
|
||||||
return SignInStatus.Success;
|
return SignInStatus.Success;
|
||||||
//TODO: return await SignInOrTwoFactor(user, isPersistent);
|
//TODO: return await SignInOrTwoFactor(user, isPersistent);
|
||||||
}
|
}
|
||||||
if (shouldLockout)
|
if (UserManager.SupportsUserLockout && shouldLockout)
|
||||||
{
|
{
|
||||||
// If lockout is requested, increment access failed count which might lock out the user
|
// If lockout is requested, increment access failed count which might lock out the user
|
||||||
await UserManager.AccessFailedAsync(user);
|
await UserManager.AccessFailedAsync(user);
|
||||||
|
|
|
||||||
|
|
@ -180,6 +180,7 @@ namespace Microsoft.AspNet.Identity.Security.Test
|
||||||
// Setup
|
// Setup
|
||||||
var user = new TestUser { UserName = "Foo" };
|
var user = new TestUser { UserName = "Foo" };
|
||||||
var manager = MockHelpers.MockUserManager<TestUser>();
|
var manager = MockHelpers.MockUserManager<TestUser>();
|
||||||
|
manager.Setup(m => m.SupportsUserLockout).Returns(true).Verifiable();
|
||||||
manager.Setup(m => m.IsLockedOutAsync(user, CancellationToken.None)).ReturnsAsync(true).Verifiable();
|
manager.Setup(m => m.IsLockedOutAsync(user, CancellationToken.None)).ReturnsAsync(true).Verifiable();
|
||||||
manager.Setup(m => m.FindByNameAsync(user.UserName, CancellationToken.None)).ReturnsAsync(user).Verifiable();
|
manager.Setup(m => m.FindByNameAsync(user.UserName, CancellationToken.None)).ReturnsAsync(user).Verifiable();
|
||||||
var context = new Mock<HttpContext>();
|
var context = new Mock<HttpContext>();
|
||||||
|
|
@ -203,6 +204,7 @@ namespace Microsoft.AspNet.Identity.Security.Test
|
||||||
// Setup
|
// Setup
|
||||||
var user = new TestUser { UserName = "Foo" };
|
var user = new TestUser { UserName = "Foo" };
|
||||||
var manager = MockHelpers.MockUserManager<TestUser>();
|
var manager = MockHelpers.MockUserManager<TestUser>();
|
||||||
|
manager.Setup(m => m.SupportsUserLockout).Returns(true).Verifiable();
|
||||||
manager.Setup(m => m.IsLockedOutAsync(user, CancellationToken.None)).ReturnsAsync(false).Verifiable();
|
manager.Setup(m => m.IsLockedOutAsync(user, CancellationToken.None)).ReturnsAsync(false).Verifiable();
|
||||||
manager.Setup(m => m.FindByNameAsync(user.UserName, CancellationToken.None)).ReturnsAsync(user).Verifiable();
|
manager.Setup(m => m.FindByNameAsync(user.UserName, CancellationToken.None)).ReturnsAsync(user).Verifiable();
|
||||||
manager.Setup(m => m.CheckPasswordAsync(user, "password", CancellationToken.None)).ReturnsAsync(true).Verifiable();
|
manager.Setup(m => m.CheckPasswordAsync(user, "password", CancellationToken.None)).ReturnsAsync(true).Verifiable();
|
||||||
|
|
@ -258,6 +260,7 @@ namespace Microsoft.AspNet.Identity.Security.Test
|
||||||
// Setup
|
// Setup
|
||||||
var user = new TestUser { UserName = "Foo" };
|
var user = new TestUser { UserName = "Foo" };
|
||||||
var manager = MockHelpers.MockUserManager<TestUser>();
|
var manager = MockHelpers.MockUserManager<TestUser>();
|
||||||
|
manager.Setup(m => m.SupportsUserLockout).Returns(true).Verifiable();
|
||||||
manager.Setup(m => m.IsLockedOutAsync(user, CancellationToken.None)).ReturnsAsync(false).Verifiable();
|
manager.Setup(m => m.IsLockedOutAsync(user, CancellationToken.None)).ReturnsAsync(false).Verifiable();
|
||||||
manager.Setup(m => m.FindByNameAsync(user.UserName, CancellationToken.None)).ReturnsAsync(user).Verifiable();
|
manager.Setup(m => m.FindByNameAsync(user.UserName, CancellationToken.None)).ReturnsAsync(user).Verifiable();
|
||||||
manager.Setup(m => m.CheckPasswordAsync(user, "bogus", CancellationToken.None)).ReturnsAsync(false).Verifiable();
|
manager.Setup(m => m.CheckPasswordAsync(user, "bogus", CancellationToken.None)).ReturnsAsync(false).Verifiable();
|
||||||
|
|
@ -305,6 +308,7 @@ namespace Microsoft.AspNet.Identity.Security.Test
|
||||||
lockedout = true;
|
lockedout = true;
|
||||||
return Task.FromResult(IdentityResult.Success);
|
return Task.FromResult(IdentityResult.Success);
|
||||||
}).Verifiable();
|
}).Verifiable();
|
||||||
|
manager.Setup(m => m.SupportsUserLockout).Returns(true).Verifiable();
|
||||||
manager.Setup(m => m.IsLockedOutAsync(user, CancellationToken.None)).Returns(() => Task.FromResult(lockedout));
|
manager.Setup(m => m.IsLockedOutAsync(user, CancellationToken.None)).Returns(() => Task.FromResult(lockedout));
|
||||||
manager.Setup(m => m.FindByNameAsync(user.UserName, CancellationToken.None)).ReturnsAsync(user).Verifiable();
|
manager.Setup(m => m.FindByNameAsync(user.UserName, CancellationToken.None)).ReturnsAsync(user).Verifiable();
|
||||||
manager.Setup(m => m.CheckPasswordAsync(user, "bogus", CancellationToken.None)).ReturnsAsync(false).Verifiable();
|
manager.Setup(m => m.CheckPasswordAsync(user, "bogus", CancellationToken.None)).ReturnsAsync(false).Verifiable();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue