Smack + openfire - 是否可以检查当前用户是否为管理员? /如何查看当前用户的详细信息?

时间:2012-05-02 05:28:23

标签: java android admin openfire smack

是否可以检查当前用户是否是管理员/如何检查当前用户的详细信息?(Java中的Java smack + openfire)?
当我尝试在openfire管理员网页上创建用户时。有一个选项:
是管理员吗? (授予管理员访问Openfire的权限)
可以知道当前用户是否具有Openfire的管理员权限? (我的意思是在smack中,如何检查当前用户是OpenFire的管理员)

3 个答案:

答案 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