Example usage for org.apache.shiro.authc AccountException AccountException

List of usage examples for org.apache.shiro.authc AccountException AccountException

Introduction

In this page you can find the example usage for org.apache.shiro.authc AccountException AccountException.

Prototype

public AccountException(String message, Throwable cause) 

Source Link

Document

Constructs a new AccountException.

Usage

From source file:org.sonatype.nexus.security.internal.AuthenticatingRealmImpl.java

License:Open Source License

@Override
protected AuthenticationInfo doGetAuthenticationInfo(final AuthenticationToken token)
        throws AuthenticationException {
    UsernamePasswordToken upToken = (UsernamePasswordToken) token;

    CUser user;//from   w ww .  j a v a2 s  .  com
    try {
        user = configuration.readUser(upToken.getUsername());
    } catch (UserNotFoundException e) {
        throw new AccountException("User '" + upToken.getUsername() + "' cannot be retrieved.", e);
    }

    if (user.getPassword() == null) {
        throw new AccountException(
                "User '" + upToken.getUsername() + "' has no password, cannot authenticate.");
    }

    if (CUser.STATUS_ACTIVE.equals(user.getStatus())) {
        // Check for legacy user that has unsalted password hash
        // Update if unsalted password hash and valid credentials were specified
        if (hasLegacyPassword(user) && isValidCredentials(upToken, user)) {
            reHashPassword(user, new String(upToken.getPassword()));
        }

        return createAuthenticationInfo(user);
    } else if (CUser.STATUS_DISABLED.equals(user.getStatus())) {
        throw new DisabledAccountException("User '" + upToken.getUsername() + "' is disabled.");
    } else {
        throw new AccountException(
                "User '" + upToken.getUsername() + "' is in illegal status '" + user.getStatus() + "'.");
    }
}

From source file:org.sonatype.security.realms.AuthenticatingRealmImpl.java

License:Open Source License

@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
    UsernamePasswordToken upToken = (UsernamePasswordToken) token;

    CUser user;/*from  w w  w  .  j av a 2  s .  c o m*/
    try {
        user = configuration.readUser(upToken.getUsername());
    } catch (UserNotFoundException e) {
        throw new AccountException("User '" + upToken.getUsername() + "' cannot be retrieved.", e);
    }

    if (user.getPassword() == null) {
        throw new AccountException(
                "User '" + upToken.getUsername() + "' has no password, cannot authenticate.");
    }

    if (CUser.STATUS_ACTIVE.equals(user.getStatus())) {
        // Check for legacy user that has unsalted password hash
        // Update if unsalted password hash and valid credentials were specified
        if (hasLegacyPassword(user) && isValidCredentials(upToken, user)) {
            reHashPassword(user, new String(upToken.getPassword()));
        }

        return this.createAuthenticationInfo(user);
    } else if (CUser.STATUS_DISABLED.equals(user.getStatus())) {
        throw new DisabledAccountException("User '" + upToken.getUsername() + "' is disabled.");
    } else {
        throw new AccountException(
                "User '" + upToken.getUsername() + "' is in illegal status '" + user.getStatus() + "'.");
    }
}

From source file:org.sonatype.security.realms.XmlAuthenticatingRealm.java

License:Open Source License

@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
    UsernamePasswordToken upToken = (UsernamePasswordToken) token;

    CUser user;/*from  ww w .  ja va  2s .co m*/
    try {
        user = configuration.readUser(upToken.getUsername());
    } catch (UserNotFoundException e) {
        throw new AccountException("User '" + upToken.getUsername() + "' cannot be retrieved.", e);
    }

    if (user.getPassword() == null) {
        throw new AccountException(
                "User '" + upToken.getUsername() + "' has no password, cannot authenticate.");
    }

    if (CUser.STATUS_ACTIVE.equals(user.getStatus())) {
        //Check for legacy user that has unsalted password hash
        //Update if legacy user, and valid credentials were specified
        if (this.isLegacyUser(user) && this.isValidCredentials(upToken, user)) {
            this.reHashPassword(user, new String(upToken.getPassword()));
        }

        return this.createAuthenticationInfo(user);
    } else if (CUser.STATUS_DISABLED.equals(user.getStatus())) {
        throw new DisabledAccountException("User '" + upToken.getUsername() + "' is disabled.");
    } else {
        throw new AccountException(
                "User '" + upToken.getUsername() + "' is in illegal status '" + user.getStatus() + "'.");
    }
}