58 lines
2.3 KiB
Java
58 lines
2.3 KiB
Java
|
|
import java.sql.*;
|
||
|
|
|
||
|
|
public class check_admin {
|
||
|
|
public static void main(String[] args) {
|
||
|
|
String dbPath = "/home/renjianbo/gerrit_install/review_site/db/ReviewDB";
|
||
|
|
|
||
|
|
try {
|
||
|
|
Class.forName("org.h2.Driver");
|
||
|
|
String url = "jdbc:h2:" + dbPath + ";AUTO_SERVER=TRUE";
|
||
|
|
Connection conn = DriverManager.getConnection(url, "sa", "");
|
||
|
|
|
||
|
|
System.out.println("=== 检查管理员权限 ===\n");
|
||
|
|
|
||
|
|
// 检查管理员组
|
||
|
|
Statement stmt = conn.createStatement();
|
||
|
|
ResultSet rs = stmt.executeQuery(
|
||
|
|
"SELECT a.ACCOUNT_ID, a.FULL_NAME, a.USER_NAME " +
|
||
|
|
"FROM ACCOUNTS a " +
|
||
|
|
"JOIN ACCOUNT_GROUP_MEMBERS agm ON a.ACCOUNT_ID = agm.ACCOUNT_ID " +
|
||
|
|
"JOIN ACCOUNT_GROUPS ag ON agm.GROUP_ID = ag.GROUP_ID " +
|
||
|
|
"WHERE ag.NAME = 'Administrators' " +
|
||
|
|
"ORDER BY a.ACCOUNT_ID"
|
||
|
|
);
|
||
|
|
|
||
|
|
boolean hasAdmins = false;
|
||
|
|
while (rs.next()) {
|
||
|
|
hasAdmins = true;
|
||
|
|
System.out.println("管理员 Account ID: " + rs.getInt("ACCOUNT_ID"));
|
||
|
|
System.out.println("Full Name: " + rs.getString("FULL_NAME"));
|
||
|
|
System.out.println("Username: " + rs.getString("USER_NAME"));
|
||
|
|
System.out.println();
|
||
|
|
}
|
||
|
|
|
||
|
|
if (!hasAdmins) {
|
||
|
|
System.out.println("(无管理员,需要设置)");
|
||
|
|
}
|
||
|
|
|
||
|
|
// 检查账户 1000001
|
||
|
|
System.out.println("\n=== 检查账户 1000001 ===");
|
||
|
|
rs = stmt.executeQuery("SELECT ACCOUNT_ID, FULL_NAME, USER_NAME FROM ACCOUNTS WHERE ACCOUNT_ID = 1000001");
|
||
|
|
if (rs.next()) {
|
||
|
|
System.out.println("Account ID: " + rs.getInt("ACCOUNT_ID"));
|
||
|
|
System.out.println("Full Name: " + rs.getString("FULL_NAME"));
|
||
|
|
System.out.println("Username: " + rs.getString("USER_NAME"));
|
||
|
|
} else {
|
||
|
|
System.out.println("账户 1000001 不存在");
|
||
|
|
}
|
||
|
|
|
||
|
|
conn.close();
|
||
|
|
|
||
|
|
} catch (Exception e) {
|
||
|
|
System.err.println("错误: " + e.getMessage());
|
||
|
|
e.printStackTrace();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|