当前位置: 首页>>代码示例>>Java>>正文


Java UserManager.getUserProvider方法代码示例

本文整理汇总了Java中org.jivesoftware.openfire.user.UserManager.getUserProvider方法的典型用法代码示例。如果您正苦于以下问题:Java UserManager.getUserProvider方法的具体用法?Java UserManager.getUserProvider怎么用?Java UserManager.getUserProvider使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.jivesoftware.openfire.user.UserManager的用法示例。


在下文中一共展示了UserManager.getUserProvider方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: deleteVCard

import org.jivesoftware.openfire.user.UserManager; //导入方法依赖的package包/类
/**
 * Deletes the profiles and avatar information of the user.
 *
 * @param username the username.
 */
public void deleteVCard(String username) {
    ClearspaceUserProvider userProvider = (ClearspaceUserProvider) UserManager.getUserProvider();
    if (userProvider.isReadOnly() || isAvatarReadOnly()) {
        // Reject the operation since the provider is read-only
        throw new UnsupportedOperationException();
    }

    long userID;
    try {
        userID = ClearspaceManager.getInstance().getUserID(username);
    } catch (UserNotFoundException gnfe) {
        // it is OK, the user doesn't exist "anymore"
        return;
    }

    deleteAvatar(userID);

    deleteProfiles(userID);
}
 
开发者ID:coodeer,项目名称:g3server,代码行数:25,代码来源:ClearspaceVCardProvider.java

示例2: updateVCard

import org.jivesoftware.openfire.user.UserManager; //导入方法依赖的package包/类
/**
 * @see org.jivesoftware.openfire.vcard.DefaultVCardProvider#updateVCard(java.lang.String, org.dom4j.Element)
 */
@Override
public Element updateVCard(String username, Element vCard) throws NotFoundException {
    // make sure some properties have not been overridden
    Element nickNameNode = vCard.element("NICKNAME");
    Element displayNameNode = vCard.element("FN");
    
    Element nameNode = vCard.element("N");
    Element lastNameNode = nameNode.element("FAMILY");
    Element firstnameNode = nameNode.element("GIVEN");
    
    Element emailNode = vCard.element("EMAIL").element("USERID");
    
    CrowdUserProvider userProvider = (CrowdUserProvider) UserManager.getUserProvider();
    try {
        User user = userProvider.getCrowdUser(username);
        
        nickNameNode.setText(username);
        displayNameNode.setText(user.displayName);
        lastNameNode.setText(user.lastName);
        firstnameNode.setText(user.firstName);
        emailNode.setText(user.email);
        
    } catch (UserNotFoundException unfe) {
        LOG.error("Unable to find user:" + String.valueOf(username) + " for updating its vcard", unfe);
    }

    if (LOG.isDebugEnabled()) {
        LOG.debug("updatevcard:" + vCard.asXML());
    }

    return super.updateVCard(username, vCard);
}
 
开发者ID:igniterealtime,项目名称:Openfire,代码行数:36,代码来源:CrowdVCardProvider.java

示例3: updateVCard

import org.jivesoftware.openfire.user.UserManager; //导入方法依赖的package包/类
/**
 * @see org.jivesoftware.openfire.vcard.DefaultVCardProvider#updateVCard(java.lang.String, org.dom4j.Element)
 */
@Override
public Element updateVCard(String username, Element vCard) throws NotFoundException {
	// make sure some properties have not been overridden
	Element nickNameNode = vCard.element("NICKNAME");
	Element displayNameNode = vCard.element("FN");
	
	Element nameNode = vCard.element("N");
	Element lastNameNode = nameNode.element("FAMILY");
	Element firstnameNode = nameNode.element("GIVEN");
	
	Element emailNode = vCard.element("EMAIL").element("USERID");
	
	CrowdUserProvider userProvider = (CrowdUserProvider) UserManager.getUserProvider();
	try {
		User user = userProvider.getCrowdUser(username);
		
		nickNameNode.setText(username);
		displayNameNode.setText(user.displayName);
		lastNameNode.setText(user.lastName);
		firstnameNode.setText(user.firstName);
		emailNode.setText(user.email);
		
	} catch (UserNotFoundException unfe) {
		LOG.error("Unable to find user:" + String.valueOf(username) + " for updating its vcard", unfe);
	}

	if (LOG.isDebugEnabled()) {
		LOG.debug("updatevcard:" + vCard.asXML());
	}

	return super.updateVCard(username, vCard);
}
 
开发者ID:idwanglu2010,项目名称:openfire,代码行数:36,代码来源:CrowdVCardProvider.java

示例4: loadVCard

import org.jivesoftware.openfire.user.UserManager; //导入方法依赖的package包/类
/**
 * @see org.jivesoftware.openfire.vcard.DefaultVCardProvider#loadVCard(java.lang.String)
 */
@Override
public Element loadVCard(String username) {
    if (LOG.isDebugEnabled()) {
        LOG.debug("loadvcard:" + username);
    }
    
    if (MUTEX.containsKey(username)) {
        // preventing looping
        return null;
    }

    try {
        MUTEX.put(username, username);
        
        Element vcard = super.loadVCard(username);
        
        if (vcard == null) {
            CrowdUserProvider userProvider = (CrowdUserProvider) UserManager.getUserProvider();
            try {
                User user = userProvider.getCrowdUser(username);
                String str = VCARD_TEMPLATE.replace("@[email protected]", user.displayName)
                        .replace("@[email protected]", user.lastName)
                        .replace("@[email protected]", user.firstName)
                        .replace("@[email protected]", user.email)
                        .replace("@[email protected]", username);
                
                SAXReader xmlReader = new SAXReader();
                xmlReader.setEncoding("UTF-8");
                
                vcard = xmlReader.read(new StringReader(str)).getRootElement();
                
            } catch (UserNotFoundException unfe) {
                LOG.error("Unable to find user:" + String.valueOf(username) + " for loading its vcard", unfe);
                return null;
            } catch (DocumentException de) {
                LOG.error("vcard parsing error", de);
                return null;
            }

            
            if (LOG.isDebugEnabled()) {
                LOG.debug(vcard != null ? vcard.asXML() : "vcard is null");
            }
            
            
            // store this new vcard
            if (vcard != null) {
                try {
                    createVCard(username, vcard);
                } catch (AlreadyExistsException aee) {
                    LOG.error("Unable to create and store a new vcard for user:" + username + "; one already exists", aee);
                }
            }
        }
        
        return vcard;

    } catch (RuntimeException re) {
        LOG.error("Failure occured when loading a vcard for user:" + username, re);
        throw re;
    } finally {
        MUTEX.remove(username);
    }
}
 
开发者ID:igniterealtime,项目名称:Openfire,代码行数:68,代码来源:CrowdVCardProvider.java

示例5: authenticate

import org.jivesoftware.openfire.user.UserManager; //导入方法依赖的package包/类
@Override
public void authenticate(String username, String password) throws UnauthorizedException {
    if (username.contains("@")) {
        // Check that the specified domain matches the server's domain
        int index = username.indexOf("@");
        String domain = username.substring(index + 1);
        if (domain.equals(XMPPServer.getInstance().getServerInfo().getXMPPDomain())) {
            username = username.substring(0, index);
        } else {
            // Unknown domain. Return authentication failed.
            throw new UnauthorizedException();
        }
    }
    try {
        // Some native authentication mechanisms appear to not handle high load
        // very well. Therefore, synchronize access to Shaj to throttle auth checks.
        synchronized (this) {
            if (!Shaj.checkPassword(domain, username, password)) {
                throw new UnauthorizedException();
            }
        }
    }
    catch (UnauthorizedException ue) {
        throw ue;
    }
    catch (Exception e) {
        throw new UnauthorizedException(e);
    }

    // See if the user exists in the database. If not, automatically create them.
    UserManager userManager = UserManager.getInstance();
    try {
        userManager.getUser(username);
    }
    catch (UserNotFoundException unfe) {
        try {
            Log.debug("Automatically creating new user account for " + username);
            // Create user; use a random password for better safety in the future.
            // Note that we have to go to the user provider directly -- because the
            // provider is read-only, UserManager will usually deny access to createUser.
            UserProvider provider = UserManager.getUserProvider();
            if (!(provider instanceof NativeUserProvider)) {
                Log.error("Error: not using NativeUserProvider so authentication with " +
                        "NativeAuthProvider will likely fail. Using: " +
                        provider.getClass().getName());
            }
            UserManager.getUserProvider().createUser(username, StringUtils.randomString(8),
                    null, null);
        }
        catch (UserAlreadyExistsException uaee) {
            // Ignore.
        }
    }
}
 
开发者ID:igniterealtime,项目名称:Openfire,代码行数:55,代码来源:NativeAuthProvider.java

示例6: ImportExportPlugin

import org.jivesoftware.openfire.user.UserManager; //导入方法依赖的package包/类
public ImportExportPlugin() {
    provider = UserManager.getUserProvider();
}
 
开发者ID:igniterealtime,项目名称:Openfire,代码行数:4,代码来源:ImportExportPlugin.java

示例7: authenticate

import org.jivesoftware.openfire.user.UserManager; //导入方法依赖的package包/类
public void authenticate(String username, String password) throws UnauthorizedException {
    if (username.contains("@")) {
        // Check that the specified domain matches the server's domain
        int index = username.indexOf("@");
        String domain = username.substring(index + 1);
        if (domain.equals(XMPPServer.getInstance().getServerInfo().getXMPPDomain())) {
            username = username.substring(0, index);
        } else {
            // Unknown domain. Return authentication failed.
            throw new UnauthorizedException();
        }
    }
    try {
        // Some native authentication mechanisms appear to not handle high load
        // very well. Therefore, synchronize access to Shaj to throttle auth checks.
        synchronized (this) {
            if (!Shaj.checkPassword(domain, username, password)) {
                throw new UnauthorizedException();
            }
        }
    }
    catch (UnauthorizedException ue) {
        throw ue;
    }
    catch (Exception e) {
        throw new UnauthorizedException(e);
    }

    // See if the user exists in the database. If not, automatically create them.
    UserManager userManager = UserManager.getInstance();
    try {
        userManager.getUser(username);
    }
    catch (UserNotFoundException unfe) {
        try {
            Log.debug("Automatically creating new user account for " + username);
            // Create user; use a random password for better safety in the future.
            // Note that we have to go to the user provider directly -- because the
            // provider is read-only, UserManager will usually deny access to createUser.
            UserProvider provider = UserManager.getUserProvider();
            if (!(provider instanceof NativeUserProvider)) {
                Log.error("Error: not using NativeUserProvider so authentication with " +
                        "NativeAuthProvider will likely fail. Using: " +
                        provider.getClass().getName());
            }
            UserManager.getUserProvider().createUser(username, StringUtils.randomString(8),
                    null, null);
        }
        catch (UserAlreadyExistsException uaee) {
            // Ignore.
        }
    }
}
 
开发者ID:coodeer,项目名称:g3server,代码行数:54,代码来源:NativeAuthProvider.java

示例8: ImportExportPlugin

import org.jivesoftware.openfire.user.UserManager; //导入方法依赖的package包/类
public ImportExportPlugin() {
    userManager = XMPPServer.getInstance().getUserManager();
    provider = UserManager.getUserProvider();
    serverName = XMPPServer.getInstance().getServerInfo().getXMPPDomain();
}
 
开发者ID:coodeer,项目名称:g3server,代码行数:6,代码来源:ImportExportPlugin.java

示例9: loadVCard

import org.jivesoftware.openfire.user.UserManager; //导入方法依赖的package包/类
/**
 * @see org.jivesoftware.openfire.vcard.DefaultVCardProvider#loadVCard(java.lang.String)
 */
@Override
public Element loadVCard(String username) {
	if (LOG.isDebugEnabled()) {
		LOG.debug("loadvcard:" + username);
	}
	
	if (MUTEX.containsKey(username)) {
		// preventing looping
		return null;
	}

	try {
		MUTEX.put(username, username);
		
		Element vcard = super.loadVCard(username);
		
		if (vcard == null) {
			CrowdUserProvider userProvider = (CrowdUserProvider) UserManager.getUserProvider();
			try {
				User user = userProvider.getCrowdUser(username);
				String str = VCARD_TEMPLATE.replace("@[email protected]", user.displayName)
						.replace("@[email protected]", user.lastName)
						.replace("@[email protected]", user.firstName)
						.replace("@[email protected]", user.email)
						.replace("@[email protected]", username);
				
				SAXReader xmlReader = new SAXReader();
				xmlReader.setEncoding("UTF-8");
				
				vcard = xmlReader.read(new StringReader(str)).getRootElement();
				
			} catch (UserNotFoundException unfe) {
				LOG.error("Unable to find user:" + String.valueOf(username) + " for loading its vcard", unfe);
				return null;
			} catch (DocumentException de) {
				LOG.error("vcard parsing error", de);
				return null;
			}

			
			if (LOG.isDebugEnabled()) {
				LOG.debug(vcard != null ? vcard.asXML() : "vcard is null");
			}
			
			
			// store this new vcard
			if (vcard != null) {
				try {
					createVCard(username, vcard);
				} catch (AlreadyExistsException aee) {
					LOG.error("Unable to create and store a new vcard for user:" + username + "; one already exists", aee);
				}
			}
		}
		
		return vcard;

	} catch (RuntimeException re) {
		LOG.error("Failure occured when loading a vcard for user:" + username, re);
		throw re;
	} finally {
		MUTEX.remove(username);
	}
}
 
开发者ID:idwanglu2010,项目名称:openfire,代码行数:68,代码来源:CrowdVCardProvider.java


注:本文中的org.jivesoftware.openfire.user.UserManager.getUserProvider方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。