コード例 #1
0
  @Override
  public UserLevel getUserLevel(String sessID, String name)
      throws SQLException, SessionExpiredException {

    if (userExists(sessID, name)) {
      // If the user can create other users, they're assumed to be admin.
      PooledConnection conn = ConnectionController.connectPooled(sessID);
      try {
        ResultSet rs =
            conn.executePreparedQuery("SELECT Create_user_priv FROM mysql.user WHERE user=?", name);
        if (rs.next()) {
          if (rs.getString(1).equals("Y")) {
            return UserLevel.ADMIN;
          }
        }
        rs =
            conn.executePreparedQuery(
                "SELECT Create_tmp_table_priv FROM mysql.db WHERE user=?", name);
        if (rs.next()) {
          if (rs.getString(1).equals("Y")) {
            return UserLevel.USER;
          }
        }
      } finally {
        conn.close();
      }
      return UserLevel.GUEST;
    }
    return UserLevel.NONE;
  }