What is the full stacktrace?
On Tue, Nov 13, 2018 at 8:51 AM mixtou <[email protected]> wrote:
> *First Project Realm (The one that Works) *
> package gr.histopath.platform.lib;
>
> import gr.histopath.platform.model.DAO.UserDAO;
> import gr.histopath.platform.model.TransferObjects.User;
> import org.apache.shiro.authc.*;
> import org.apache.shiro.codec.Base64;
> import org.apache.shiro.realm.jdbc.JdbcRealm;
> import org.apache.shiro.util.ByteSource;
>
> public class MyRealm extends JdbcRealm {
>
> private UserDAO userDAO;
> private User user;
> private String password;
> private ByteSource salt;
>
>
> public MyRealm() {
> this.userDAO = new UserDAO();
> setSaltStyle(SaltStyle.COLUMN);
> }
>
> @Override
> protected AuthenticationInfo
> doGetAuthenticationInfo(AuthenticationToken
> token) throws AuthenticationException {
> // identify account to log to
> UsernamePasswordToken userPassToken = (UsernamePasswordToken)
> token;
> String username = userPassToken.getUsername();
>
> if (username.equals(null)) {
> System.out.println("Username is null.");
> return null;
> }
>
> // read password hash and salt from db
> System.out.println("Username: " + username);
> this.user = userDAO.getByUsername(username);
> this.userDAO.closeEntityManager();
> System.out.println("user's email: " + this.user.getUsername());
>
> if (this.user == null) {
> System.out.println("No account found for user [" + username +
> "]");
> return null;
> }
> this.password = this.user.getPassword();
> this.salt =
> ByteSource.Util.bytes(Base64.decode(this.user.getSalt()));
>
> SaltedAuthenticationInfo info = new SimpleAuthenticationInfo(user,
> password, salt, getName());
> // SimpleAccount simpleAccount = new SimpleAccount(this.user,
> this.password, this.salt, getName());
>
> return info;
> // return simpleAccount;
> }
>
> }
>
>
> *The Second MyRealm (the one that fails)*
>
> package gr.gourvas.platform.lib;
>
> import gr.gourvas.platform.model.DAO.UserDAO;
> import gr.gourvas.platform.model.TransferObjects.User;
> import org.apache.shiro.authc.*;
> import org.apache.shiro.codec.Base64;
> import org.apache.shiro.realm.jdbc.JdbcRealm;
> import org.apache.shiro.util.ByteSource;
>
> public class MyRealm extends JdbcRealm {
>
> private UserDAO userDAO;
> private User user;
> private String password;
> private ByteSource salt;
>
>
> public MyRealm() {
> this.userDAO = new UserDAO();
> setSaltStyle(SaltStyle.COLUMN);
> }
>
> @Override
> protected AuthenticationInfo
> doGetAuthenticationInfo(AuthenticationToken
> token) throws AuthenticationException {
> // identify account to log to
> UsernamePasswordToken userPassToken = (UsernamePasswordToken)
> token;
> String username = userPassToken.getUsername();
>
> if (username.equals(null)) {
> System.out.println("Username is null.");
> return null;
> }
>
> // read password hash and salt from db
> System.out.println("Username: " + username);
> this.user = userDAO.getByUsername(username);
> this.userDAO.closeEntityManager();
> System.out.println("user's email: " + this.user.getUsername());
>
> if (this.user == null) {
> System.out.println("No account found for user [" + username +
> "]");
> return null;
> }
> this.password = this.user.getPassword();
> this.salt =
> ByteSource.Util.bytes(Base64.decode(this.user.getSalt()));
>
> SaltedAuthenticationInfo info = new
> SimpleAuthenticationInfo(this.user, this.password, this.salt, getName());
> // SimpleAccount simpleAccount = new SimpleAccount(this.user,
> this.password, this.salt, getName());
>
> return info;
> // return simpleAccount;
> }
>
> }
>
>
>
>
> They are identical.
>
>
>
> --
> Sent from: http://shiro-user.582556.n2.nabble.com/
>