Используя соль весной - PullRequest
0 голосов
/ 24 октября 2018

Я использую Spring Security.Я хочу хранить значения соли для каждого пользователя в базе данных.Я использовал BCrypt для генерации и хеширования соли при вставке пользователя в базу данных.

SaltGenerator.java

public class SaltGenerator {
    public static String generateSalt()
    {
        String salt=BCrypt.gensalt(12);
        return salt;
    }

    public static String generateHash(String password,String salt)
    {
        String hashedPassword=BCrypt.hashpw(password, salt);
        return hashedPassword;
    }

}

RegistrationDAO.java

String salt=SaltGenerator.generateSalt();
        String hashedPassword=SaltGenerator.generateHash(user.getPassword(), salt);

, а затемподготовленное заявление и т. д.

Вот моя база данных

User
-id
-username
-password
-salt

При доступе к определенному URL будет отображаться форма входа по умолчанию.

@Override
    protected void configure(HttpSecurity http) throws Exception {

          http.authorizeRequests().antMatchers("/userHomePage").authenticated().and().formLogin()
          .and().exceptionHandling().accessDeniedPage("/Access_Denied");


    }

Вот моя Javaкод.

public class SecurityCheck extends WebSecurityConfigurerAdapter{

@Autowired
private DataSource dataSource;

private String usernameSearch="select username,password,account_status from user where username=?";
private String roleSearch="select username,usertype from user where username=?";

@Autowired
private RequestHandler requestHandler;

@Override
protected void configure(AuthenticationManagerBuilder authenticate)
        throws Exception {

    authenticate.jdbcAuthentication().dataSource(dataSource).usersByUsernameQuery(usernameSearch).
    authoritiesByUsernameQuery(roleSearch);

}

@Override
protected void configure(HttpSecurity http) throws Exception {

      http.authorizeRequests().antMatchers("/userHomePage").authenticated().and().formLogin()
      .and().exceptionHandling().accessDeniedPage("/Access_Denied");


}


}

Мой вопрос: какие изменения я должен внести для достижения результатов?Как мне сначала получить соль для этого конкретного пользователя и использовать в authenticationManagerBuilder?ИЛИ любой другой способ сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...