使用oracle凭据的Spring安全性(数据源不来自属性)
我正在试图找到一个解决方案,允许用户使用他们的数据库凭据登录 此时,我正在连接一个“通用数据库用户”,然后使用一个带有用户名和密码的用户表。我想删除这个表,直接用Oracle验证用户名和密码 编辑:解释 用户通过保存在数据库表中的用户/密码进行连接。但是,客户端希望使用Oracle用户名访问应用程序。换句话说,我当前的Spring配置是使用root用户(root)的用户名/密码建立的。通过该方案,我可以访问数据库中的数据。我根据数据库中的用户表对用户/密码进行身份验证,以将用户登录到应用程序。然而,我需要一种预验证,允许我配置动态数据源或不配置数据源,以便用户可以使用外部用户名和密码(在我的情况下,这将是Oracle的用户名和密码)进入程序 如果没有Spring配置,我可以随时连接到数据库,因为每次需要连接时,我都必须使用用户名和密码登录。如何修改静态Spring数据源(由属性文件配置),以便在用户首次登录平台并保存数据源时能够对其进行配置 可能吗 这是我与数据库上的表的当前连接:使用oracle凭据的Spring安全性(数据源不来自属性),spring,oracle,spring-mvc,spring-security,database-connection,Spring,Oracle,Spring Mvc,Spring Security,Database Connection,我正在试图找到一个解决方案,允许用户使用他们的数据库凭据登录 此时,我正在连接一个“通用数据库用户”,然后使用一个带有用户名和密码的用户表。我想删除这个表,直接用Oracle验证用户名和密码 编辑:解释 用户通过保存在数据库表中的用户/密码进行连接。但是,客户端希望使用Oracle用户名访问应用程序。换句话说,我当前的Spring配置是使用root用户(root)的用户名/密码建立的。通过该方案,我可以访问数据库中的数据。我根据数据库中的用户表对用户/密码进行身份验证,以将用户登录到应用程序。然
@Autowired
protected void configureGlobal(AuthenticationManagerBuilder registry) throws Exception, BadCredentialsException {
registry
.jdbcAuthentication()
**.dataSource(dataSource)**
.usersByUsernameQuery("select COD as principal, PASSWORD as credentials, 1 "
+ "from USUARIOS where COD = ?")
.authoritiesByUsernameQuery("select ROLES_POR_USUARIO.COD, ROLES.NOMBRE "
+ "from ROLES_POR_USUARIO inner join ROLES "
+ "on ROLES.COD = ROLES_POR_USUARIO.COD "
+ "where ROLES_POR_USUARIO.COD = ?");
}
静态数据源:
db.driver=oracle.jdbc.OracleDriver
db.url=my_oracle_url
db.username=database_user
db.password=database_user_pass
我想连接数据库中存储的尽可能多的db.username/db.password凭据
谢谢大家! Jasig CAS使用。它尝试使用提供的用户名和密码连接到数据库,如果这样做有效,它将认为用户已通过身份验证
因此,您可以使用CAS(Spring Security可以与之集成),或者在应用程序中实现类似于BindModeSearchDatabaseAuthenticationHandler的功能 我不能用CAS。我的体系结构只有Oracle Web浏览器(应用程序)