users-by-username-query="select username,password, enabled from myTable.users where USERNAME=?"这个安全性对我来说工作得很好,但是启用是强制的,Spring是如何检查启用条件的呢?如果我删除启用,那么它会给出异常说,需要3个字段,但如果我放置4个字段启用,那么它是工作的,请提供完整的认证流程。
发布于 2014-02-03 21:33:00
我的问题已经有答案了。
该查询中的enabled字段是“必须和应该”。Spring使用JdbcDaoImpl类。使用loadUsersByUsername(String username)方法。在这个过程中,Spring假设两个默认模式Users至少有3列(用户名、密码、已启用)和权限有两列(用户名、权限)。如果您在查询中提供更多数据,它将只考虑这3个字段进行身份验证。
如果您对提供启用字段的安全性不感兴趣,则对其进行硬编码,您可以给出true、false或1,0。
https://stackoverflow.com/questions/21527960
复制相似问题