@Test public void testDefaultAdminLogin() { ByteBuffer username = ByteBuffer.wrap("admin".getBytes()); ByteBuffer password = ByteBuffer.wrap("admin".getBytes()); Assert.assertTrue(service.authenticate(username, password)); }
public boolean authenticate(ByteBuffer username, ByteBuffer password) { lock.readLock().lock(); try { if(exists(username)) { short uid = getUserId(username); ByteBuffer salt = ByteBuffers.decodeFromHex((String) accounts .get(uid, AccountAttribute.SALT.key())); password.rewind(); password = Passwords.hash(password, salt); return ByteBuffers.encodeAsHex(password) .equals((String) accounts.get(uid, AccountAttribute.PASSWORD.key())); } return false; } finally { lock.readLock().unlock(); } }
UserService { public boolean authenticate(ByteBuffer username, ByteBuffer password) { lock.readLock().lock(); try { if(exists(username)) { short uid = getUserId(username); ByteBuffer salt = ByteBuffers.decodeFromHex((String) accounts .get(uid, AccountAttribute.SALT.key())); password.rewind(); password = Passwords.hash(password, salt); return ByteBuffers.encodeAsHex(password) .equals((String) accounts.get(uid, AccountAttribute.PASSWORD.key())); } return false; } finally { lock.readLock().unlock(); } } }
UserService { public boolean authenticate(ByteBuffer username, ByteBuffer password) { lock.readLock().lock(); try { if(exists(username)) { short uid = getUserId(username); ByteBuffer salt = ByteBuffers.decodeFromHex((String) accounts .get(uid, AccountAttribute.SALT.key())); password.rewind(); password = Passwords.hash(password, salt); return ByteBuffers.encodeAsHex(password) .equals((String) accounts.get(uid, AccountAttribute.PASSWORD.key())); } return false; } finally { lock.readLock().unlock(); } } @SuppressWarnings("unchecked") private  UserService(String backingStore, int accessTokenTtl,
            TimeUnit accessTokenTtlUnit); }
UserService { public boolean authenticate(ByteBuffer username, ByteBuffer password) { lock.readLock().lock(); try { if(exists(username)) { short uid = getUserId(username); ByteBuffer salt = ByteBuffers.decodeFromHex((String) accounts .get(uid, AccountAttribute.SALT.key())); password.rewind(); password = Passwords.hash(password, salt); return ByteBuffers.encodeAsHex(password) .equals((String) accounts.get(uid, AccountAttribute.PASSWORD.key())); } return false; } finally { lock.readLock().unlock(); } } @SuppressWarnings("unchecked") private  UserService(String backingStore, int accessTokenTtl,
            TimeUnit accessTokenTtlUnit); static UserService create(String backingStore); boolean authenticate(ByteBuffer username, ByteBuffer password); boolean can(ByteBuffer username, Permission permission,
            String environment); void create(ByteBuffer username, ByteBuffer password, Role role); void delete(ByteBuffer username); void disable(ByteBuffer username); void enable(ByteBuffer username); boolean exists(ByteBuffer username); void forEachUser(Consumer<ByteBuffer> consumer); Role getRole(ByteBuffer username); void grant(ByteBuffer username, Permission permission,
            String environment); boolean isEnabled(ByteBuffer username); void revoke(ByteBuffer username, String environment); void setPassword(ByteBuffer username, ByteBuffer password); void setRole(ByteBuffer username, Role role); }
UserService { public boolean authenticate(ByteBuffer username, ByteBuffer password) { lock.readLock().lock(); try { if(exists(username)) { short uid = getUserId(username); ByteBuffer salt = ByteBuffers.decodeFromHex((String) accounts .get(uid, AccountAttribute.SALT.key())); password.rewind(); password = Passwords.hash(password, salt); return ByteBuffers.encodeAsHex(password) .equals((String) accounts.get(uid, AccountAttribute.PASSWORD.key())); } return false; } finally { lock.readLock().unlock(); } } @SuppressWarnings("unchecked") private  UserService(String backingStore, int accessTokenTtl,
            TimeUnit accessTokenTtlUnit); static UserService create(String backingStore); boolean authenticate(ByteBuffer username, ByteBuffer password); boolean can(ByteBuffer username, Permission permission,
            String environment); void create(ByteBuffer username, ByteBuffer password, Role role); void delete(ByteBuffer username); void disable(ByteBuffer username); void enable(ByteBuffer username); boolean exists(ByteBuffer username); void forEachUser(Consumer<ByteBuffer> consumer); Role getRole(ByteBuffer username); void grant(ByteBuffer username, Permission permission,
            String environment); boolean isEnabled(ByteBuffer username); void revoke(ByteBuffer username, String environment); void setPassword(ByteBuffer username, ByteBuffer password); void setRole(ByteBuffer username, Role role); final AccessTokenManager tokens; }