2017-05-25 15 views
1

this answerを使用してプログラムでSpring Securityを使用して新しいユーザーを追加しようとしています。しかし残念ながら私は問題を起こす。 コード:新しいユーザーをテーブルに保存しないでください。ユーザー

SecurityConfig:

private JdbcUserDetailsManager employeeDetailsManager; 

@Bean(name = "employeeDetailsManager") 
public JdbcUserDetailsManager getEmployeeDetailsManager() { 
    return employeeDetailsManager; 
} 

アプリケーション:ラインuserDetailsManager.createUser(user)

private static void createUser(ApplicationContext context){ 
     List<GrantedAuthority> authorities = new ArrayList<GrantedAuthority>(); 
     authorities.add(new SimpleGrantedAuthority("supervisor")); 

     PasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); 

     UserDetails user = new User("supervisor1", passwordEncoder.encode("supervisor1"), authorities); 

     JdbcUserDetailsManager userDetailsManager = (JdbcUserDetailsManager) context.getBean("employeeDetailsManager"); 
     userDetailsManager.createUser(user);//Exception! 

     Authentication authentication = new UsernamePasswordAuthenticationToken(user, null, authorities); 

     SecurityContextHolder.getContext().setAuthentication(authentication); 
    } 

私は例外を取得:

java.sql.SQLSyntaxErrorException:ユーザーが権限またはオブジェクトを欠いない が見つかりました:USERS

私はなぜそれを得るのか理解しています。本当にテーブルがありませんUsers。この代わりに私はテーブルEmployeesを持っているので、このテーブルに新しいユーザを保存する必要があります。

このエラーを修正して、ユーザを作成してテーブルEmployeesに保存するにはどうすればよいですか?

答えて

0

クエリを格納するフィールドがあります。例えば

、あなたはcreateUserメソッドを使用する前に、

setCreateUserSql(String createUserSql) 

に持っています。

http://docs.spring.io/spring-security/site/docs/4.0.2.RELEASE/apidocs/org/springframework/security/provisioning/JdbcUserDetailsManager.html

定数を参照して、正しく埋めていることを確認してください。

+0

お返事ありがとうございます!しかし、私は 'serDetailsManager.setCreateUserSql(" insert into employee ... .')を使うと 'ユーザに特権がないか、オブジェクトが見つからない:EMPLOYEE'となってしまい、' @Table( Employeeクラスの注釈として「setCreateUserSql」を使用しようとしましたが、これも失敗します: '特権がないかオブジェクトが見つかりません:AUTHORITIES'。今修正する必要があるもの –

+0

特権やオブジェクトが見つからないというエラーがある場合、最も関連性の高いものは、USERS、EMPLOYEE、AUTHORITIESなどの表または列が見つからないということです。それをgoogleとanwserを簡単に見つけることがあります。 – PSo

関連する問題