/** * This service method will return back all available password validation regular expressions * against the corresponding domain names. * * @return * @throws IdentityException */ public PasswordRegExDTO[] getPasswordRegularExpressions() throws IdentityException { UserRealm realm = null; realm = IdentityTenantUtil.getRealm(null, null); List<PasswordRegExDTO> passwordRegExList = new ArrayList<PasswordRegExDTO>(); PasswordRegExDTO passwordRegEx; try { UserStoreManager manager = realm.getUserStoreManager(); String domainName; String regEx; while (manager != null) { domainName = manager .getRealmConfiguration() .getUserStoreProperty(UserCoreConstants.RealmConfig.PROPERTY_DOMAIN_NAME); regEx = manager .getRealmConfiguration() .getUserStoreProperty(UserCoreConstants.RealmConfig.PROPERTY_JS_REG_EX); if (regEx != null && regEx.length() > 0) { passwordRegEx = new PasswordRegExDTO(); passwordRegEx.setDomainName(domainName); passwordRegEx.setRegEx(regEx); passwordRegExList.add(passwordRegEx); } manager = manager.getSecondaryUserStoreManager(); } } catch (UserStoreException e) { log.error(e); throw new IdentityException( "Error occured while loading password validation regular expressions."); } return passwordRegExList.toArray(new PasswordRegExDTO[passwordRegExList.size()]); }
/** * This method used to confirm the self registered user account and unlock it. * * @param username * @param code * @param captcha * @param tenantDomain * @return * @throws IdentityMgtServiceException */ public VerificationBean confirmUserSelfRegistration( String username, String code, CaptchaInfoBean captcha, String tenantDomain) throws IdentityMgtServiceException { VerificationBean bean = new VerificationBean(); if (log.isDebugEnabled()) { log.debug("User registration verification request received with username :"******" Error while validating captcha for user : "******"Trying to confirm users in unauthorized tenant space"; log.error(msg); } if (tenantDomain == null || tenantDomain.isEmpty()) { tenantDomain = loggedInTenant; } } UserDTO userDTO = null; try { userDTO = Utils.processUserId(username + "@" + tenantDomain); } catch (IdentityException e) { bean = handleError( VerificationBean.ERROR_CODE_INVALID_USER + " Error verifying user account for user : "******"Error retrieving the user store manager for the tenant : " + tenantDomain, e); return bean; } try { bean = processor.verifyConfirmationCode(1, username, code); if (bean.isVerified()) { UserIdentityManagementUtil.unlockUserAccount(username, userStoreManager); bean.setVerified(true); } else { bean.setVerified(false); bean.setKey(""); log.error("User verification failed against the given confirmation code"); } } catch (IdentityException e) { bean = handleError("Error while validating confirmation code for user : " + username, e); return bean; } } finally { if (IdentityMgtConfig.getInstance().isSaasEnabled()) { PrivilegedCarbonContext.endTenantFlow(); } } return bean; }