Можно ли проверить, является ли текущий пользователь администратором или нет / Как проверить данные текущего пользователя? (Java smack + openfire в Android)?
Когда я пытаюсь создать пользователя на веб-странице администратора openfire. Есть вариант:
Администратор? (Предоставляет доступ администратора к Openfire)
Можно ли узнать, есть ли у текущего пользователя доступ администратора к Openfire? (Я имею в виду, как проверить, что текущий пользователь является администратором OpenFire)
Smack + openfire - Можно ли проверить, что текущий пользователь администратор или нет? / Как проверить данные текущего пользователя?
Ответы (3)
Попробуй это,
account = Connection.getAccountManager();
Collection<String> attrs = account.getAccountAttributes();
//inspect the values in attrs, should contain the type of account
Ок .. на странице создания пользователя.
Администратор? -> означает, что если вы хотите предоставить права администратора пользователю, которого вы создаете. Пользователь-администратор будет иметь все права на создание / удаление пользователя, сеанса, групп и т. Д. Возможно, вы не захотите предоставлять привилегии администратора всем пользователям.
Если вы хотите узнать, есть ли у текущего пользователя или любого другого существующего пользователя права администратора, тогда перейдите к
Пользователь / Группы -> Пользователи -> Сводка пользователя (здесь вы получите всех пользователей в системе)
Текущий вошедший в систему пользователь будет отмечен звездочкой рядом с ним. (я думаю) Нажмите на пользователя, тогда он даст краткую информацию о пользователе. Свойство Является администратором ?: будет иметь значение да или нет соответственно.
Возможно, методы в AdminManager дадут вам некоторые идеи. Например,
public boolean isUserAdmin(org.xmpp.packet.JID jid,
boolean allowAdminIfEmpty)
а также
public List<org.xmpp.packet.JID> getAdminAccounts()
Вы можете обратиться к javadoc о классе.
Вот пример использования AdminManager для получения всех администраторов одного сервера:
/**
* Returns a collection with the JIDs of the server's admins. The collection may include
* JIDs of local users and users of remote servers.
*
* @return a collection with the JIDs of the server's admins.
*/
public Collection<JID> getAdmins() {
return AdminManager.getInstance().getAdminAccounts();
}
Более подробную информацию можно найти в XMPPServer.java.