Java 保存新用户不在表Users中

Java 保存新用户不在表Users中,java,spring,spring-security,Java,Spring,Spring Security,我正在尝试使用Spring Security以编程方式添加一个新用户。但不幸的是我遇到了问题。 代码: SecurityConfig: private JdbcUserDetailsManager employeeDetailsManager; @Bean(name = "employeeDetailsManager") public JdbcUserDetailsManager getEmployeeDetailsManager() { return employeeDetailsM

我正在尝试使用Spring Security以编程方式添加一个新用户。但不幸的是我遇到了问题。 代码:

SecurityConfig:

private JdbcUserDetailsManager employeeDetailsManager;

@Bean(name = "employeeDetailsManager")
public JdbcUserDetailsManager getEmployeeDetailsManager() {
    return employeeDetailsManager;
}
应用程序:

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);
    }
private static void createUser(ApplicationContext上下文){
列表权限=新建ArrayList();
添加(新的简化授权(“监管人”);
PasswordEncoder PasswordEncoder=新的BCryptPasswordEncoder();
UserDetails user=新用户(“监督者1”,passwordEncoder.encode(“监督者1”),权限;
JdbcUserDetailsManager userDetailsManager=(JdbcUserDetailsManager)context.getBean(“employeeDetailsManager”);
userDetailsManager.createUser(用户);//异常!
Authentication Authentication=新用户名PasswordAuthenticationToken(用户、空、权限);
SecurityContextHolder.getContext().setAuthentication(身份验证);
}
userDetailsManager.createUser(user)
行中,我得到异常:

java.sql.SQLSyntaxErrorException:用户缺少权限或对象不存在 发现:用户

我明白为什么我会得到它:我真的没有一个表
Users
。相反,我有表
Employees
,所以我需要在此表中保存新用户


那么,如何修复此错误并创建用户并将其保存到表
Employees

中有常数字段存储查询

例如,你必须

setCreateUserSql(String createUserSql) 
在使用createUser方法之前


请参考常数,并确保填写正确。

有常数字段存储查询

例如,你必须

setCreateUserSql(String createUserSql) 
在使用createUser方法之前


请参考常数并确保填写正确。

谢谢您的回答!但我仍然有一些问题:如果我使用
serDetailsManager.setCreateUserSql(“插入到员工中…”
,那么我会得到
用户缺少权限或找不到对象:员工
。之后我记得我使用
@Table(name=“\'employee\”)
作为员工类注释,所以我尝试使用
setCreateUserSql(“插入到“雇员”中…
,但这也失败了:
用户缺少权限或找不到对象:权限
。我现在应该修复什么?对于用户缺少权限或找不到对象的错误,我想最相关的一个是程序找不到声明的表或列,例如用户、员工、权限。您可以通过谷歌搜索它并找到nwser很容易。谢谢你的回答!但我仍然有一些问题:如果我使用
serDetailsManager.setCreateUserSql(“插入员工…”
,那么我会得到
用户缺少权限或找不到对象:employee
。之后我记得我使用了
@Table(name=“\”employee\”)
作为Employee类注释,所以我尝试使用
setCreateUserSql(“插入到\“Employee\”…
,但这也失败了:
用户缺少权限或找不到对象:权限
。我现在应该修复什么?对于用户缺少权限或找不到对象的错误,我想最相关的一个是程序找不到声明的表或列,例如用户、员工、权限。您可以通过谷歌搜索它并找到我很容易就学会了。