private void assertAuthIniFile( String password ) throws Throwable { assertTrue( fileSystem.fileExists( authInitFile ) ); FileUserRepository userRepository = new FileUserRepository( fileSystem, authInitFile, NullLogProvider.getInstance() ); userRepository.start(); User neo4j = userRepository.getUserByName( UserManager.INITIAL_USER_NAME ); assertNotNull( neo4j ); assertTrue( neo4j.credentials().matchesPassword( password ) ); assertFalse( neo4j.hasFlag( User.PASSWORD_CHANGE_REQUIRED ) ); } }
private void assertAuthIniFile( String password ) throws Throwable { File authIniFile = getAuthFile( "auth.ini" ); assertTrue( fileSystem.fileExists( authIniFile ) ); FileUserRepository userRepository = new FileUserRepository( fileSystem, authIniFile, NullLogProvider.getInstance() ); userRepository.start(); User neo4j = userRepository.getUserByName( UserManager.INITIAL_USER_NAME ); assertNotNull( neo4j ); assertTrue( neo4j.credentials().matchesPassword( password ) ); assertFalse( neo4j.hasFlag( User.PASSWORD_CHANGE_REQUIRED ) ); }
@Override public void suspendUser( String username ) throws IOException, InvalidArgumentsException { User user = getUser( username ); if ( !user.hasFlag( IS_SUSPENDED ) ) { User suspendedUser = user.augment().withFlag( IS_SUSPENDED ).build(); try { synchronized ( this ) { userRepository.update( user, suspendedUser ); } } catch ( ConcurrentModificationException e ) { // Try again suspendUser( username ); } } clearCacheForUser( username ); }
@Override protected AuthorizationInfo doGetAuthorizationInfo( PrincipalCollection principals ) { if ( !authorizationEnabled ) { return null; } String username = (String) getAvailablePrincipal( principals ); if ( username == null ) { return null; } User user = userRepository.getUserByName( username ); if ( user == null ) { return null; } if ( user.passwordChangeRequired() || user.hasFlag( IS_SUSPENDED ) ) { return new SimpleAuthorizationInfo(); } else { Set<String> roles = roleRepository.getRoleNamesByUsername( user.name() ); return new SimpleAuthorizationInfo( roles ); } }
@Override public void activateUser( String username, boolean requirePasswordChange ) throws IOException, InvalidArgumentsException { User user = getUser( username ); if ( user.hasFlag( IS_SUSPENDED ) ) { User activatedUser = user.augment() .withoutFlag( IS_SUSPENDED ) .withRequiredPasswordChange( requirePasswordChange ) .build(); try { synchronized ( this ) { userRepository.update( user, activatedUser ); } } catch ( ConcurrentModificationException e ) { // Try again activateUser( username, requirePasswordChange ); } } clearCacheForUser( username ); }
if ( user.hasFlag( InternalFlatFileRealm.IS_SUSPENDED ) )