示例#1
0
        public async Task BruteforceBlockIsWorking()
        {
            using (var transaction = Fixture.Connection.BeginTransaction())
            {
                using (var context = Fixture.CreateContext(transaction))
                {
                    Mock <UserManager> userManagerMock = new Mock <UserManager>((new Mock <IUserStore <AppUser> >()).Object, null, null, null, null, null, null, null, null, null);
                    AppUser            returnedUser    = await context.Users.SingleAsync(u => u.Email == "*****@*****.**");

                    userManagerMock.Setup(u => u.FindByNameAsync("JohnDoe"))
                    .ReturnsAsync(returnedUser);
                    BruteforceManager manager = new BruteforceManager(context, (UserManager)userManagerMock.Object);

                    IPAddress ip      = IPAddress.Parse("192.168.5.34");
                    IPAddress otherIp = IPAddress.Parse("192.168.5.35");

                    await manager.MarkInvalidLoginAttemptAsync(ip, "User Agent", "JohnDoe");

                    Assert.False(await manager.IsIpBlockedAsync(ip));
                    Assert.False(await manager.IsUserBlockedAsync(returnedUser));

                    for (int i = 1; i < 10; i++)
                    {
                        await manager.MarkInvalidLoginAttemptAsync(ip, "User Agent", "JohnDoe");
                    }

                    Assert.True(await manager.IsIpBlockedAsync(ip));
                    Assert.False(await manager.IsIpBlockedAsync(otherIp));
                    Assert.True(await manager.IsUserBlockedAsync(returnedUser));
                }
            }
        }
示例#2
0
 public AuthService(
     UserManager userManager,
     SignInManager <AppUser> signInManager,
     AuthDbContext authDbContext,
     BruteforceManager bruteforceManager,
     SessionManager sessionManager,
     ProfileImageManager profileImageManager
     )
 {
     _userManager         = userManager;
     _signInManager       = signInManager;
     _authDbContext       = authDbContext;
     _bruteforceManager   = bruteforceManager;
     _sessionManager      = sessionManager;
     _profileImageManager = profileImageManager;
 }
示例#3
0
 public AuthService(
     UserManager userManager,
     SignInManager <AppUser> signInManager,
     AuthDbContext authDbContext,
     BruteforceManager bruteforceManager,
     SessionManager sessionManager,
     ProfileImageManager profileImageManager,
     HIBPClient hibpClient,
     DeviceCookieManager deviceCookieManager
     )
 {
     _userManager         = userManager;
     _signInManager       = signInManager;
     _authDbContext       = authDbContext;
     _bruteforceManager   = bruteforceManager;
     _sessionManager      = sessionManager;
     _profileImageManager = profileImageManager;
     _hibpClient          = hibpClient;
     _deviceCookieManager = deviceCookieManager;
 }