首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring安全性:配置(AuthenticationManagerBuilder auth)

Spring安全性:配置(AuthenticationManagerBuilder auth)
EN

Stack Overflow用户
提问于 2017-03-21 13:15:32
回答 1查看 2.1K关注 0票数 2

我有一个具有属性的实体User

  • id
  • username
  • password
  • firstname
  • lastname
  • userrole

属性userroleenum的类型,而不是Set,因此1用户角色/用户。

现在,我想进行JDBC身份验证。

现在我有:

代码语言:javascript
复制
auth
    .jdbcAuthentication()
        .dataSource(dataSource)
        .usersByUsernameQuery("select username, password from user where username=?")
        .authoritiesByUsernameQuery("select username, userrole from user where username=?");

但这不管用。

.usersByUsernameQuery("...").authoritiesByUsernameQuery("...");中的查询应该如何表述?

错误消息:

由: org.h2.message.DbException.getJdbcSQLException(DbException.java:345) ~h2-1.4.192.jar:1.4.192 at org.h2.message.DbException.get(DbException.java:179) ~h2-1.4.192.jar:1.4.192在org.h2.message.DbException.get(DbException.java:179)~H2-1.4.192.jar:1.4.192在org.h2处的参数"columnIndex“无效值"3”引起: org.h2.jdbc.JdbcSQLException:不允许值"3“。message.DbException.getInvalidValueException(DbException.java:228) ~h2-1.4.192.jar:1.4.192在org.h2.jdbc.JdbcResultSet.checkColumnIndex(JdbcResultSet.java:3172) ~h2-1.4.192.jar:1.4.192在org.h2.jdbc.JdbcResultSet.get(JdbcResultSet.java:3200) ~h2-1.4.192.jar:1.4.192在org.h2.jdbc.JdbcResultSet.getBoolean(JdbcResultSet.java:541) ~h2-1.4.192.jar:1.4.192在org.springframework.security.core.userdetails.jdbc.JdbcDaoImpl$1.mapRow(JdbcDaoImpl.java:223) ~spring-security-core-4.1.3.RELEASE.jar:4.1.3.RELEASE at org.springframework.security.core.userdetails.jdbc.JdbcDaoImpl$1.mapRow(JdbcDaoImpl.java:218) ~spring-security-core-4.1.3.RELEASE.jar:4.1.3.RELEASE在org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:93) ~spring-jdbc-4.3.3.RELEASE.jar:4.3.3.RELEASE在org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:60) ~spring-jdbc-4.3.3.RELEASE.jar:4.3.3.RELEASE在org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:697) ~Spring-JDBC-4。3.3.RELEASE.JAR:4.3.3. omitted在org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:633) ~spring-jdbc-4.3.3.RELEASE.jar:4.3.3.RELEASE . 65种常见帧省略

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-21 13:55:31

对用户的查询需要3个参数,请参阅弹簧安全参考

  • users-by-username-query一种SQL语句,用于查询给定用户名的用户名、密码和启用状态。默认情况是

选择用户名,密码,从用户那里启用用户名=?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42928268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档