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

📄 manageusers.java

📁 java 写的一个新闻发布系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
     * @throws IOException     * @throws ServletException     * @throws JahiaException     */    private boolean processUserCreate(HttpServletRequest request,                                   HttpServletResponse response,                                   HttpSession session)    throws IOException, ServletException, JahiaException    {        // get form values...        String username = request.getParameter("username").trim();        if (username.length() == 0) {            userMessage = "Please specify a user name";            return false;        }        // The following test is really disputable because we should can enter        // as well accentueted char and any internationalized char.        else if (!JahiaTools.isAlphaValid(username)) {            userMessage = "Use only letters, digits or underscores in User Name";            return false;        }        else if (uMgr.userExists(jahiaSite.getID(), username)) {            userMessage = "User [" + username + "] already exists in this site";            return false;        }        String passwd = request.getParameter("passwd").trim();        if ("".equals(passwd)) {            passwd = username + "123";            JahiaConsole.println(CLASS_NAME+".processUserCreate","ATTENTION !! No password for user " +                username + ". Create the default one : " + passwd + "\n" +                "This is not secure !!! Please redefine another password as soon as possible for this user.");        } else {            String passwdConfirm = request.getParameter("passwdconfirm").trim();            if (!passwdConfirm.equals(passwd)) {                userMessage = "Password confirmation does not match. Please insert coins and try again.";                return false;            } else if (passwd.length() < 6) {                userMessage = "Password should be minimum 6 characters length. Please try again.";                return false;            }        }        Properties userProps = new Properties();        userProps.setProperty("firstname", request.getParameter("firstname").trim());        userProps.setProperty("lastname", request.getParameter("lastname").trim());        userProps.setProperty("email", request.getParameter("email").trim());        userProps.setProperty("organization", request.getParameter("organization").trim());        JahiaUser usr = uMgr.createUser(username, passwd, username + ":" + jahiaSite.getID(), jahiaSite.getID(), userProps);        if (usr == null) {            userMessage = "Unable to create user " + username;            return false;        } else {            JahiaSiteUserManagerService siteUserManager =                ServicesRegistry.getInstance().getJahiaSiteUserManagerService();            siteUserManager.addMember(jahiaSite.getID(), usr);            userMessage = "User [" + username + "] successfully created.";        }        // Lookup for home page settings and set it.        if (request.getParameter("setHomePage") != null) {            Integer homePageIDInt = (Integer)session.getAttribute("homePageID");            if (homePageIDInt != null) {                int homePageID = homePageIDInt.intValue();                JahiaConsole.println(CLASS_NAME+".processUserCreate", "Process Home Page ID : " + homePageID);                usr.setHomepageID(homePageID);            }        }        _searchResult = null;        return true;    }    /**     * Display all user properties including home page redirection if exists.     *     * @param request     * @param response     * @param session     * @throws IOException     * @throws ServletException     * @throws JahiaException     */    private void displayUserEdit(HttpServletRequest request,                                 HttpServletResponse response,                                 HttpSession session)    throws IOException, ServletException, JahiaException    {        JahiaConsole.println(CLASS_NAME+".displayUserEdit", "Started");        String userToEdit;        JahiaUser theUser;        if (isSuperAdminProp) {            userToEdit = (String)session.getAttribute(JahiaAdministration.CLASS_NAME + "jahiaLoginUsername");            theUser = (JahiaUser)uMgr.lookupUser(0, userToEdit);            // Spaces ensure the compatiblity format from the user_management.jsp select box            userToEdit = "          " + userToEdit;            request.setAttribute("isSuperAdminProp", "");        } else {            userToEdit = (String)request.getParameter("selectedUsers");            if (userToEdit == null) { // Get the last user if none was selected.                userToEdit = (String)session.getAttribute("selectedUsers");            }            if (userToEdit == null || "null".equals(userToEdit)) {                userMessage = "Please select a user in the select box";                displayUsers(request, response, session);                return;            }            // Consider actual selected user as the last one and store it in session.            session.setAttribute("selectedUsers", userToEdit);            theUser = (JahiaUser)uMgr.lookupUser(jahiaSite.getID(), userToEdit.substring(10));        }        Properties userProperties = theUser.getProperties();        request.setAttribute("usernameValue", userToEdit);        if (request.getParameter("firstname") != null) {            userProperties.put("firstname", request.getParameter("firstname"));        }        if (request.getParameter("lastname") != null) {            userProperties.put("lastname", request.getParameter("lastname"));        }        if (request.getParameter("email") != null) {            userProperties.put("email", request.getParameter("email"));        }        if (request.getParameter("organization") != null) {            userProperties.put("organization", request.getParameter("organization"));        }        request.setAttribute("passwd", "");        request.setAttribute("passwdconfirm", "");        request.setAttribute("userProperties", userProperties);        // Get the home page        if (session.getAttribute("homePageLabel") == null) {            int homePageID = theUser.getHomepageID();            if (homePageID != -1) {                // FIXME : This exception should arrive when the page is                // erased. In this case it is the rule of the page remover                // to ensure that no references to pages exist before                // removing.                /** @todo remove this exception catching when a correct page                   remover were implemented. */                try {                    session.setAttribute("homePageLabel", JahiaPageBaseService.                        getInstance().lookupPageWhitoutTemplates(homePageID).getTitle());                    session.setAttribute("homePageID", new Integer(homePageID));                } catch (JahiaException je) {                    JahiaConsole.printe(CLASS_NAME+".displayUserEdit", je);                    userMessage = "Jahia encounters a problem with the home page." +                                  "Was this page removed ?";                    session.setAttribute("homePageLabel", "Disapeared !");                }            } else {                    session.setAttribute("homePageLabel", "none");            }        }        request.setAttribute("jspSource", JSP_PATH + "/user_management/user_edit.jsp");        request.setAttribute("directMenu", JSP_PATH + "/direct_menu.jsp");        session.setAttribute("jahiaDisplayMessage", Jahia.COPYRIGHT);        session.setAttribute("userMessage", userMessage);        doRedirect(request, response, session, JSP_PATH + "/admin.jsp");        userMessage = "";    }    /**     * Process the user edition formular.     * 1) Check if the user is coming out from Jahia DB     * 2) Check password validity     * 3) Set the user properties in DB     * 4) Set the home page redirection if one is set.     *     * @param request     * @param response     * @param session     * @return true if operation successed, false otherwise.     * @throws IOException     * @throws ServletException     * @throws JahiaException     */    private boolean processUserEdit(HttpServletRequest request,                                    HttpServletResponse response,                                    HttpSession session)    throws IOException, ServletException, JahiaException    {        JahiaConsole.println(CLASS_NAME+".processUserEdit", "Started");        // get form values...        String username = request.getParameter("username");        JahiaUser usr;        if (isSuperAdminProp) {            usr = (JahiaUser)uMgr.lookupUser(0, username);        } else {            usr = (JahiaUser)uMgr.lookupUser(jahiaSite.getID(), username);        }        JahiaConsole.println(CLASS_NAME+".processUserEdit", "Update user : " + usr.getUserKey());        if (usr.getUserKey().indexOf("{ldap}") != - 1) { // External user. i.e. LDAP            // LDAP user processing            // Actualy nothing to do        } else {            // jahia_db usr processing            String passwd = request.getParameter("passwd").trim();            if (!"".equals(passwd)) {                String passwdConfirm = request.getParameter("passwdconfirm").trim();                if (!passwdConfirm.equals(passwd)) {                    userMessage = "Password confirmation does not match. Please insert coins and try again.";                    return false;                } else if (passwd.length() < 6) {                    userMessage = "Password should be minimum 6 characters length. Please try again.";                    return false;                }            }            if (!"".equals(passwd) && !usr.setPassword(passwd)) {                userMessage = "Cannot change password for user [" + username + "]";                return false;            }            usr.setProperty("firstname", request.getParameter("firstname").trim());            usr.setProperty("lastname", request.getParameter("lastname").trim());            usr.setProperty("email", request.getParameter("email").trim());            usr.setProperty("organization", request.getParameter("organization").trim());        }        // Lookup for home page settings and set it.        Integer homePageIDInt = (Integer)session.getAttribute("homePageID");        if (homePageIDInt != null) {            int homePageID = homePageIDInt.intValue();            if (homePageID != -1) {                JahiaConsole.println(CLASS_NAME+".processUserEdit", "Process Home Page ID : " + homePageID);                usr.setHomepageID(homePageID);            } else {                // Why are attributes such JahiaDBUser.mHOMEPAGE_PROP sudenly private ?                usr.removeProperty("user_homepage");            }        }        userMessage = "User [" + username + "] successfully updated.";        return true;    }    /**     * Display confirmation message for removing or not a Jahia user.     * External user cannot be removed actualy.     *     * @param request     * @param response     * @param session     * @throws IOException     * @throws ServletException     * @throws JahiaException     */    private void displayUserRemove(HttpServletRequest    request,                                   HttpServletResponse   response,                                   HttpSession           session)    throws IOException, ServletException, JahiaException    {        JahiaConsole.println(CLASS_NAME+".displayUserRemove", "Started");        String selectedUsers = request.getParameter("selectedUsers");        if (selectedUsers == null || "null".equals(selectedUsers)) {            userMessage = "Please select a user in the select box";            displayUsers(request, response, session);        } else {            JahiaUser theUser = (JahiaUser)uMgr.lookupUser(jahiaSite.getID(), selectedUsers.substring(10));            // set request attributes...            request.setAttribute("usernameValue", selectedUsers);            session.setAttribute("userMessage", userMessage);            request.setAttribute("jspSource", JSP_PATH + "/user_management/user_remove.jsp");            request.setAttribute("directMenu", JSP_PATH + "/direct_menu.jsp");            session.setAttribute("jahiaDisplayMessage", Jahia.COPYRIGHT);            doRedirect(request, response, session, JSP_PATH + "/admin.jsp");            userMessage = "";        }    }    /**     * Process the Jahia user DB removing.     * CAUTION ! The user "guest" cannot be removed.     *     * @param request     * @param response     * @param session     * @throws IOException     * @throws ServletException     * @throws JahiaException     */    private void processUserRemove(HttpServletRequest    request,                                   HttpServletResponse   response,                                   HttpSession           session)    throws IOException, ServletException, JahiaException    {        JahiaConsole.println(CLASS_NAME+".processUserRemove", "Started");        session.setAttribute("selectedUsers", null);        String userName = request.getParameter("username");        if (!userName.equals("guest")) {            // try to delete the user and memberships...            try {                JahiaUser user = uMgr.lookupUser(jahiaSite.getID(), userName);                JahiaUser currentUser = (JahiaUser)session.getAttribute(ParamBean.SESSION_USER);                if (!user.getUserKey().equals(currentUser.getUserKey())) {                    JahiaSiteUserManagerService siteUserManager =                        ServicesRegistry.getInstance().getJahiaSiteUserManagerService();                    siteUserManager.removeMember(user);                    uMgr.deleteUser(user);                    userMessage = "User " + userName + " successfully removed.";                } else {                    userMessage = "Couldn't remove your user.";                }            } catch (Exception e) {                userMessage = "Couldn't remove user " + userName + ".";            }        } else {            userMessage = "Couldn't remove user guest.";        }        _searchResult = null;        displayUsers( request, response, session);    }    /**     * Apply the HomePageTool object displaying a home page tool popup window.     *     * @param request     * @param response     * @param session     * @throws Throwable     */    private void processHomePage(HttpServletRequest request,                                 HttpServletResponse response,                                 HttpSession session)    throws Throwable    {        if (homePageTool == null) {            homePageTool = new HomePageTool(request, response, session);        } else {            homePageTool.requestDispatcher(request, response, session);        }    }}

⌨️ 快捷键说明

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