⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 signupportlet.java

📁 GridSphere 门户 提供一个基于 portlet 的高级开放源代码门户。GridSphere 是在欧盟提供基金的 GridLab 项目下开发的
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        PortletRequest req = event.getActionRequest();        // Validate password        String passwordValue = event.getPasswordBean("password").getValue();        String confirmPasswordValue = event.getPasswordBean("confirmPassword").getValue();        if (passwordValue == null) {            createErrorMessage(event, this.getLocalizedText(req, "USER_PASSWORD_NOTSET"));            return true;        }        // Otherwise, password must match confirmation        if (!passwordValue.equals(confirmPasswordValue)) {            createErrorMessage(event, (this.getLocalizedText(req, "USER_PASSWORD_MISMATCH")) + "<br />");            return true;            // If they do match, then validate password with our service        } else {            passwordValue = passwordValue.trim();            if (passwordValue.length() == 0) {                createErrorMessage(event, this.getLocalizedText(req, "USER_PASSWORD_BLANK"));                return true;            }            if (passwordValue.length() < 5) {                createErrorMessage(event, this.getLocalizedText(req, "USER_PASSWORD_TOOSHORT"));                return true;            }        }        return false;    }    private User saveUser(Request request) {        log.debug("Entering saveUser()");        // Account request        // Create edit account request        User newuser = this.userManagerService.createUser();        // Edit account attributes        newuser.setUserName(request.getAttribute("userName"));        newuser.setFirstName(request.getAttribute("firstName"));        newuser.setLastName(request.getAttribute("lastName"));        newuser.setFullName(request.getAttribute("lastName") + ", " + request.getAttribute("firstName"));        newuser.setEmailAddress(request.getAttribute("emailAddress"));        newuser.setOrganization(request.getAttribute("organization"));        long now = Calendar.getInstance().getTime().getTime();        newuser.setAttribute(User.CREATEDATE, String.valueOf(now));        // Submit changes        this.userManagerService.saveUser(newuser);        String savePasswds = portalConfigService.getProperty(PortalConfigService.SAVE_PASSWORDS);        if (savePasswds.equals(Boolean.TRUE.toString())) {            PasswordEditor editor = passwordManagerService.editPassword(newuser);            String password = request.getAttribute("password");            editor.setValue(password);            passwordManagerService.saveHashedPassword(editor);        }        // Save user role        List<PortletRole> defaultRoles = roleService.getDefaultRoles();        for (PortletRole role : defaultRoles) {            roleService.addUserToRole(newuser, role);        }        log.debug("Exiting saveUser()");        return newuser;    }    public void notifyNewUser(ActionFormEvent evt) throws PortletException {        ActionRequest req = evt.getActionRequest();        ActionResponse res = evt.getActionResponse();        TextFieldBean emailTF = evt.getTextFieldBean("emailAddress");        // create a request        Request request = requestService.createRequest(ACTIVATE_ACCOUNT_LABEL);        long now = Calendar.getInstance().getTime().getTime();        request.setLifetime(new Date(now + REQUEST_LIFETIME));        // request.setUserID(user.getID());        request.setAttribute("userName", evt.getTextFieldBean("userName").getValue());        request.setAttribute("firstName", evt.getTextFieldBean("firstName").getValue());        request.setAttribute("lastName", evt.getTextFieldBean("lastName").getValue());        request.setAttribute("emailAddress", evt.getTextFieldBean("emailAddress").getValue());        request.setAttribute("organization", evt.getTextFieldBean("organization").getValue());        // put hashed pass in request        String savePasswds = portalConfigService.getProperty(PortalConfigService.SAVE_PASSWORDS);        if (savePasswds.equals(Boolean.TRUE.toString())) {            String pass = evt.getPasswordBean("password").getValue();            pass = passwordManagerService.getHashedPassword(pass);            request.setAttribute("password", pass);        }        requestService.saveRequest(request);        MailMessage mailToUser = new MailMessage();        mailToUser.setSender(portalConfigService.getProperty(PortalConfigService.MAIL_FROM));        StringBuffer body = new StringBuffer();        String activateURL = activateAccountURL + "&reqid=" + request.getOid();        String denyURL = denyAccountURL + "&reqid=" + request.getOid();        // check if this account request should be approved by an administrator        boolean accountApproval = Boolean.valueOf(portalConfigService.getProperty(PortalConfigService.ADMIN_ACCOUNT_APPROVAL)).booleanValue();        if (accountApproval) {            String admin = portalConfigService.getProperty(PortalConfigService.PORTAL_ADMIN_EMAIL);            mailToUser.setEmailAddress(admin);            String mailSubject = portalConfigService.getProperty("LOGIN_ACCOUNT_APPROVAL_ADMIN_MAILSUBJECT");            if (mailSubject == null) mailSubject = getLocalizedText(req, "LOGIN_ACCOUNT_APPROVAL_ADMIN_MAILSUBJECT");            mailToUser.setSubject(mailSubject);            String adminBody = portalConfigService.getProperty("LOGIN_ACCOUNT_APPROVAL_ADMIN_MAIL");            if (adminBody == null) adminBody = getLocalizedText(req, "LOGIN_ACCOUNT_APPROVAL_ADMIN_MAIL");            body.append(adminBody).append("\n\n");            body.append(getLocalizedText(req, "LOGIN_ACCOUNT_APPROVAL_ALLOW")).append("\n\n");            body.append(activateURL).append("\n\n");            body.append(getLocalizedText(req, "LOGIN_ACCOUNT_APPROVAL_DENY")).append("\n\n");            body.append(denyURL).append("\n\n");        } else {            mailToUser.setEmailAddress(emailTF.getValue());            String mailSubjectHeader = portalConfigService.getProperty("LOGIN_ACTIVATE_SUBJECT");            String loginActivateMail = portalConfigService.getProperty("LOGIN_ACTIVATE_BODY");            if (mailSubjectHeader == null) mailSubjectHeader = getLocalizedText(req, "LOGIN_ACTIVATE_SUBJECT");            mailToUser.setSubject(mailSubjectHeader);            if (loginActivateMail == null) loginActivateMail = getLocalizedText(req, "LOGIN_ACTIVATE_MAIL");            body.append(loginActivateMail).append("\n\n");            body.append(activateURL).append("\n\n");        }        body.append(getLocalizedText(req, "USERNAME")).append("\t");        body.append(evt.getTextFieldBean("userName").getValue()).append("\n");        body.append(getLocalizedText(req, "GIVENNAME")).append("\t");        body.append(evt.getTextFieldBean("firstName").getValue()).append("\n");        body.append(getLocalizedText(req, "FAMILYNAME")).append("\t");        body.append(evt.getTextFieldBean("lastName").getValue()).append("\n");        body.append(getLocalizedText(req, "ORGANIZATION")).append("\t");        body.append(evt.getTextFieldBean("organization").getValue()).append("\n");        body.append(getLocalizedText(req, "EMAILADDRESS")).append("\t");        body.append(evt.getTextFieldBean("emailAddress").getValue()).append("\n");        mailToUser.setBody(body.toString());        try {            mailService.sendMail(mailToUser);        } catch (PortletServiceException e) {            createErrorMessage(evt, this.getLocalizedText(req, "LOGIN_FAILURE_MAIL"));            throw new PortletException("Unable to send mail message!", e);        }        boolean adminRequired = Boolean.valueOf(portalConfigService.getProperty(PortalConfigService.ADMIN_ACCOUNT_APPROVAL));        if (adminRequired) {            createSuccessMessage(evt, this.getLocalizedText(req, "LOGIN_ACCT_ADMIN_MAIL"));        } else {            createSuccessMessage(evt, this.getLocalizedText(req, "LOGIN_ACCT_MAIL"));        }    }    private void doEmailAction(ActionFormEvent event, String msg, boolean createAccount) {        ActionRequest req = event.getActionRequest();        ActionResponse res = event.getActionResponse();        String id = req.getParameter("reqid");        User user = null;        Request request = requestService.getRequest(id, ACTIVATE_ACCOUNT_LABEL);        if (request != null) {            requestService.deleteRequest(request);            String subject = "";            String body = "";            if (createAccount) {                user = saveUser(request);                createSuccessMessage(event, msg + " " + user.getUserName());                // send the user an email                subject = portalConfigService.getProperty("LOGIN_ACCOUNT_APPROVAL_ACCOUNT_CREATED");                if (subject == null) subject = getLocalizedText(req, "LOGIN_ACCOUNT_APPROVAL_ACCOUNT_CREATED");                body = portalConfigService.getProperty("LOGIN_ACCOUNT_APPROVAL_ACCOUNT_CREATED_BODY");                if (body == null) body = getLocalizedText(req, "LOGIN_ACCOUNT_APPROVAL_ACCOUNT_CREATED");            } else {                createSuccessMessage(event, msg);                // send the user an email                subject = portalConfigService.getProperty("LOGIN_ACCOUNT_APPROVAL_ACCOUNT_DENY");                if (subject == null) subject = getLocalizedText(req, "LOGIN_ACCOUNT_APPROVAL_ACCOUNT_DENY");                body = portalConfigService.getProperty("LOGIN_ACCOUNT_APPROVAL_ACCOUNT_DENY_BODY");                if (body == null) body = getLocalizedText(req, "LOGIN_ACCOUNT_APPROVAL_ACCOUNT_DENY");            }            MailMessage mailToUser = new MailMessage();            mailToUser.setEmailAddress(user.getEmailAddress());            mailToUser.setSender(portalConfigService.getProperty(PortalConfigService.MAIL_FROM));            mailToUser.setSubject(subject);            StringBuffer msgbody = new StringBuffer();            msgbody.append(body).append("\n\n");            msgbody.append(notificationURL);            mailToUser.setBody(body.toString());            try {                mailService.sendMail(mailToUser);            } catch (PortletServiceException e) {                log.error("Error: ", e);                createErrorMessage(event, this.getLocalizedText(req, "LOGIN_FAILURE_MAIL"));            }        }        setNextState(req, DEFAULT_VIEW_PAGE);    }    public void approveAccount(ActionFormEvent event) {        PortletRequest req = event.getActionRequest();        String msg = this.getLocalizedText(req, "LOGIN_ACCOUNT_APPROVAL_ACCOUNT_CREATED");        doEmailAction(event, msg, true);        setNextState(req, "signup/approve.jsp");    }    public void denyAccount(ActionFormEvent event) {        PortletRequest req = event.getActionRequest();        String msg = this.getLocalizedText(req, "LOGIN_ACCOUNT_APPROVAL_ACCOUNT_DENY");        doEmailAction(event, msg, false);        setNextState(req, "signup/deny.jsp");    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -