33 lines
1.6 KiB
Java
33 lines
1.6 KiB
Java
package scripts.qa;
|
|
|
|
import java.io.File;
|
|
import java.nio.file.Files;
|
|
import java.sql.*;
|
|
|
|
public class CheckRolePermissions {
|
|
public static void main(String[] args) throws Exception {
|
|
Class.forName("com.kingbase8.Driver");
|
|
File yml = new File("RuoYi-Vue/ruoyi-admin/src/main/resources/application-druid.yml");
|
|
String pass = "";
|
|
for (String line : Files.readAllLines(yml.toPath())) {
|
|
if (line.trim().startsWith("password:")) pass = line.trim().substring("password:".length()).trim();
|
|
}
|
|
try (Connection conn = DriverManager.getConnection("jdbc:kingbase8://127.0.0.1:4321/railwaysystem_integrated_qa_20260916?useUnicode=true&characterEncoding=utf8", "kingbase", pass)) {
|
|
System.out.println("--- ROLE PERMISSIONS ---");
|
|
String sql = "SELECT r.role_id, r.role_name, r.role_key, m.menu_name, m.perms " +
|
|
"FROM public.sys_role r " +
|
|
"JOIN public.sys_role_menu rm ON r.role_id = rm.role_id " +
|
|
"JOIN public.sys_menu m ON rm.menu_id = m.menu_id " +
|
|
"WHERE r.role_id IN (3, 4, 5) AND m.perms IS NOT NULL AND m.perms != '' " +
|
|
"ORDER BY r.role_id, m.perms";
|
|
try (Statement st = conn.createStatement();
|
|
ResultSet rs = st.executeQuery(sql)) {
|
|
while (rs.next()) {
|
|
System.out.println(String.format("Role %d (%s, %s) -> Perm: %s (%s)",
|
|
rs.getLong(1), rs.getString(2), rs.getString(3), rs.getString(5), rs.getString(4)));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|