是否可以检查当前用户是否是管理员/如何检查当前用户的详细信息?(Java中的Java smack + openfire)?
当我尝试在openfire管理员网页上创建用户时。有一个选项:
是管理员吗? (授予管理员访问Openfire的权限)
可以知道当前用户是否具有Openfire的管理员权限? (我的意思是在smack中,如何检查当前用户是OpenFire的管理员)
答案 0 :(得分:4)
试试这个,
account = Connection.getAccountManager();
Collection<String> attrs = account.getAccountAttributes();
//inspect the values in attrs, should contain the type of account
确定..在用户创建页面上。
是管理员吗? - &GT;意味着,如果您想向您正在创建的用户授予管理员权限。管理员用户将拥有创建/删除用户,会话,组等的所有权限。 您可能不希望向所有用户提供管理员优先权。
如果您想知道当前用户或任何其他用户是否具有管理员权限,请转到
用户/群组 - &gt;用户 - &gt;用户摘要(此处您将获得系统中的所有用户)
当前登录的用户将在其旁边显示 star 。 (我认为) 单击该用户,然后它将提供该用户的摘要。 是管理员?:属性将是或否。
答案 1 :(得分:0)
也许AdminManager中的方法会给您一些想法。 例如,
public boolean isUserAdmin(org.xmpp.packet.JID jid,
boolean allowAdminIfEmpty)
和
public List<org.xmpp.packet.JID> getAdminAccounts()
您可以参考关于课程的javadoc。
答案 2 :(得分:0)
有一个使用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。