Я продолжаю получать эту ошибку при попытке входа в систему. Любая помощь приветствуется.Ошибка входа в Apache Shiro: IncorrectCredentialsException
Войти код
Realm realm = new TestRealm();
SecurityManager sm = new DefaultSecurityManager(realm);
SecurityUtils.setSecurityManager(sm);
UsernamePasswordToken token = new UsernamePasswordToken();
token.setUsername("dave");
token.setPassword("le1990".toCharArray());
token.setRememberMe(true);
Subject sub = SecurityUtils.getSubject();
sub.login(token);
doGetAuthenticationInfo метод
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException{
UsernamePasswordToken upToken = (UsernamePasswordToken)token;
String username = upToken.getUsername();
if(username == null)
this.logger.info("We don't except Null usernames. sorry. ");
AuthenticationInfo info = null;
try{
USER user = new USER();
String pass = user.getPassForUser();
if(pass == null)
throw new AccountException("The account your looking for doesn't exist");
info = new SimpleAuthenticationInfo(username, pass, getName());
метод user.getPassForUser возвращает жесткое проводное значение для тестирования. значение копируется из БД $ shiro1 $ SHA-256 $ 500 000 $ temCnap0k + zboIW7y49Mww == $ veyM6YL3QiCJvMwo0r2yu0KDC3ueAxZOYuN0vT + 0v5M =
shiro.ini файла
# realms to be used
customSecurityRealm=com.raven.rave.common.TestRealm
customSecurityRealm.jndiDataSourceName=java:jdbc/dbeka
customSecurityRealm.permissionsLookupEnabled=true
Наконец исключение брошенной
ERROR [STDERR] org.apache.shiro.authc.IncorrectCredentialsException:
Submitted credentials for token [org.apache.shiro.authc.UsernamePasswordToken - dave, rememberMe=true] did not match the expected credent
ERROR [STDERR] at org.apache.shiro.realm.AuthenticatingRealm.assertCredentialsMatch(AuthenticatingRealm.java:600)
ERROR [STDERR] at org.apache.shiro.realm.AuthenticatingRealm.getAuthenticationInfo(AuthenticatingRealm.java:578)
ERROR [STDERR] at org.apache.shiro.authc.pam.ModularRealmAuthenticator.doSingleRealmAuthentication(ModularRealmAuthenticator.java:180)
ERROR [STDERR] at org.apache.shiro.authc.pam.ModularRealmAuthenticator.doAuthenticate(ModularRealmAuthenticator.java:267)
ERROR [STDERR] at org.apache.shiro.authc.AbstractAuthenticator.authenticate(AbstractAuthenticator.java:198)
ERROR [STDERR] at org.apache.shiro.mgt.AuthenticatingSecurityManager.authenticate(AuthenticatingSecurityManager.java:106)
ERROR [STDERR] at org.apache.shiro.mgt.DefaultSecurityManager.login(DefaultSecurityManager.java:270)
ERROR [STDERR] at org.apache.shiro.subject.support.DelegatingSubject.login(DelegatingSubject.java:256)
Когда я зарегистрированный пользователь, я передал один и тот же пароль «le1990». Кроме того, должен ли пароль, полученный из БД, быть открытым текстом. Если да, то как я могу расшифровать сохраненный пароль?