From f97f6f93b627b9aa3ad2cf66d39c9fe9b54c3e7a Mon Sep 17 00:00:00 2001 From: ZhangJian He Date: Mon, 20 Mar 2023 09:05:32 +0800 Subject: [PATCH] extract method --- .../spi/configuration/AuthConfiguration.java | 60 ++++++++++++++----- 1 file changed, 45 insertions(+), 15 deletions(-) diff --git a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/spi/configuration/AuthConfiguration.java b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/spi/configuration/AuthConfiguration.java index 73197b9e63d..4159b5bae2c 100644 --- a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/spi/configuration/AuthConfiguration.java +++ b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/spi/configuration/AuthConfiguration.java @@ -133,23 +133,17 @@ public static JdbcUserDetailsManager jdbcUserDetailsManager( } JdbcUserDetailsManager jdbcUserDetailsManager = auth.jdbcAuthentication() .passwordEncoder(passwordEncoder).dataSource(datasource) - .usersByUsernameQuery("SELECT " + openQuote + "Username" + closeQuote + "," + openQuote + "Password" + closeQuote + "," + openQuote + "Enabled" + closeQuote + " FROM " + openQuote + "Users" + closeQuote + " WHERE " + openQuote + "Username" + closeQuote + " = ?") - .authoritiesByUsernameQuery( - "SELECT " + openQuote + "Username" + closeQuote + "," + openQuote + "Authority" + closeQuote + " FROM " + openQuote + "Authorities" + closeQuote + " WHERE " + openQuote + "Username" + closeQuote + " = ?") + .usersByUsernameQuery(usersQuerySql(openQuote, closeQuote)) + .authoritiesByUsernameQuery(authoritiesQuerySql(openQuote, closeQuote)) .getUserDetailsService(); - jdbcUserDetailsManager.setUserExistsSql("SELECT " + openQuote + "Username" + closeQuote + " FROM " + openQuote + "Users" + closeQuote + " WHERE " + openQuote + "Username" + closeQuote + " = ?"); - jdbcUserDetailsManager - .setCreateUserSql("INSERT INTO " + openQuote + "Users" + closeQuote + " (" + openQuote + "Username" + closeQuote + ", " + openQuote + "Password" + closeQuote + ", " + openQuote + "Enabled" + closeQuote + ") values (?,?,?)"); - jdbcUserDetailsManager - .setUpdateUserSql("UPDATE " + openQuote + "Users" + closeQuote + " SET " + openQuote + "Password" + closeQuote + " = ?, " + openQuote + "Enabled" + closeQuote + " = ? WHERE id = (SELECT u.id FROM (SELECT id FROM " + openQuote + "Users" + closeQuote + " WHERE " + openQuote + "Username" + closeQuote + " = ?) AS u)"); - jdbcUserDetailsManager.setDeleteUserSql("DELETE FROM " + openQuote + "Users" + closeQuote + " WHERE id = (SELECT u.id FROM (SELECT id FROM " + openQuote + "Users" + closeQuote + " WHERE " + openQuote + "Username" + closeQuote + " = ?) AS u)"); - jdbcUserDetailsManager - .setCreateAuthoritySql("INSERT INTO " + openQuote + "Authorities" + closeQuote + " (" + openQuote + "Username" + closeQuote + ", " + openQuote + "Authority" + closeQuote + ") values (?,?)"); - jdbcUserDetailsManager - .setDeleteUserAuthoritiesSql("DELETE FROM " + openQuote + "Authorities" + closeQuote + " WHERE id in (SELECT a.id FROM (SELECT id FROM " + openQuote + "Authorities" + closeQuote + " WHERE " + openQuote + "Username" + closeQuote + " = ?) AS a)"); - jdbcUserDetailsManager - .setChangePasswordSql("UPDATE " + openQuote + "Users" + closeQuote + " SET " + openQuote + "Password" + closeQuote + " = ? WHERE id = (SELECT u.id FROM (SELECT id FROM " + openQuote + "Users" + closeQuote + " WHERE " + openQuote + "Username" + closeQuote + " = ?) AS u)"); + jdbcUserDetailsManager.setUserExistsSql(usersExistsSql(openQuote, closeQuote)); + jdbcUserDetailsManager.setCreateUserSql(usersCreateSql(openQuote, closeQuote)); + jdbcUserDetailsManager.setUpdateUserSql(usersUpdateSql(openQuote, closeQuote)); + jdbcUserDetailsManager.setDeleteUserSql(usersDeleteSql(openQuote, closeQuote)); + jdbcUserDetailsManager.setCreateAuthoritySql(authoritiesCreateSql(openQuote, closeQuote)); + jdbcUserDetailsManager.setDeleteUserAuthoritiesSql(authoritiesDeleteSql(openQuote, closeQuote)); + jdbcUserDetailsManager.setChangePasswordSql(changePasswordSql(openQuote, closeQuote)); return jdbcUserDetailsManager; } @@ -164,6 +158,42 @@ public UserService springSecurityUserService(PasswordEncoder passwordEncoder, } + private static String usersCreateSql(char openQuote, char closeQuote) { + return "INSERT INTO " + openQuote + "Users" + closeQuote + " (" + openQuote + "Username" + closeQuote + ", " + openQuote + "Password" + closeQuote + ", " + openQuote + "Enabled" + closeQuote + ") values (?,?,?)"; + } + + private static String usersDeleteSql(char openQuote, char closeQuote) { + return "DELETE FROM " + openQuote + "Users" + closeQuote + " WHERE id = (SELECT u.id FROM (SELECT id FROM " + openQuote + "Users" + closeQuote + " WHERE " + openQuote + "Username" + closeQuote + " = ?) AS u)"; + } + + private static String usersUpdateSql(char openQuote, char closeQuote) { + return "UPDATE " + openQuote + "Users" + closeQuote + " SET " + openQuote + "Password" + closeQuote + " = ?, " + openQuote + "Enabled" + closeQuote + " = ? WHERE id = (SELECT u.id FROM (SELECT id FROM " + openQuote + "Users" + closeQuote + " WHERE " + openQuote + "Username" + closeQuote + " = ?) AS u)"; + } + + private static String usersExistsSql(char openQuote, char closeQuote) { + return "SELECT " + openQuote + "Username" + closeQuote + " FROM " + openQuote + "Users" + closeQuote + " WHERE " + openQuote + "Username" + closeQuote + " = ?"; + } + + private static String usersQuerySql(char openQuote, char closeQuote) { + return "SELECT " + openQuote + "Username" + closeQuote + "," + openQuote + "Password" + closeQuote + "," + openQuote + "Enabled" + closeQuote + " FROM " + openQuote + "Users" + closeQuote + " WHERE " + openQuote + "Username" + closeQuote + " = ?"; + } + + private static String authoritiesCreateSql(char openQuote, char closeQuote) { + return "INSERT INTO " + openQuote + "Authorities" + closeQuote + " (" + openQuote + "Username" + closeQuote + ", " + openQuote + "Authority" + closeQuote + ") values (?,?)"; + } + + private static String authoritiesDeleteSql(char openQuote, char closeQuote) { + return "DELETE FROM " + openQuote + "Authorities" + closeQuote + " WHERE id in (SELECT a.id FROM (SELECT id FROM " + openQuote + "Authorities" + closeQuote + " WHERE " + openQuote + "Username" + closeQuote + " = ?) AS a)"; + } + + private static String changePasswordSql(char openQuote, char closeQuote) { + return "UPDATE " + openQuote + "Users" + closeQuote + " SET " + openQuote + "Password" + closeQuote + " = ? WHERE id = (SELECT u.id FROM (SELECT id FROM " + openQuote + "Users" + closeQuote + " WHERE " + openQuote + "Username" + closeQuote + " = ?) AS u)"; + } + + private static String authoritiesQuerySql(char openQuote, char closeQuote) { + return "SELECT " + openQuote + "Username" + closeQuote + "," + openQuote + "Authority" + closeQuote + " FROM " + openQuote + "Authorities" + closeQuote + " WHERE " + openQuote + "Username" + closeQuote + " = ?"; + } + @Order(99) @Profile("auth") @Configuration