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

📄 manageusers.java

📁 java 写的一个新闻发布系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
// $Id: ManageUsers.java,v 1.21 2003/01/29 15:48:13 pmartin Exp $////                                   ____.//                       __/\ ______|    |__/\.     _______//            __   .____|    |       \   |    +----+       \//    _______|  /--|    |    |    -   \  _    |    :    -   \_________//   \\______: :---|    :    :           |    :    |         \________>//           |__\---\_____________:______:    :____|____:_____\//                                      /_____|////              . . . i n   j a h i a   w e   t r u s t . . .////package org.jahia.admin.users;import java.io.IOException;import java.util.HashMap;import java.util.Properties;import java.util.Set;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.jahia.admin.homepages.HomePageTool;import org.jahia.services.homepages.*;import org.jahia.bin.Jahia;import org.jahia.bin.JahiaAdministration;import org.jahia.exceptions.JahiaException;import org.jahia.params.ParamBean;import org.jahia.registries.ServicesRegistry;import org.jahia.security.license.LicenseKey;import org.jahia.services.pages.JahiaPageBaseService;import org.jahia.services.sites.JahiaSite;import org.jahia.services.usermanager.*;import org.jahia.utils.JahiaConsole;import org.jahia.utils.JahiaTools;import org.jahia.viewhelper.UsersViewHelper;/** * desc:  This class is used by the administration to manage users * (add a user, edit and delete) from the Jahia software. * * Copyright:    Copyright (c) 2002 * Company:      Jahia Ltd * * @author Alexandre Kraft * @author Philippe Martin * * @version 2.0 */public class ManageUsers{    private static final String CLASS_NAME = ManageUsers.class.getName();    private static final String JSP_PATH = JahiaAdministration.JSP_PATH;    private static JahiaUserManagerService uMgr;    private static JahiaGroupManagerService gMgr;    private JahiaSite jahiaSite;    private HomePageTool homePageTool = null;    private String userMessage = "";    private LicenseKey mLicenseKey;    /**     * FIXME : Fuck that shit, beurk, seems to be an ugly bug. I put this variable instance member instead of static.     */    //private static Set _searchResult = null;    private Set _searchResult = null;    private static UsersViewHelper usersViewHelper;    // This attribute will be set to true if the super admin change its    // properties, false other wise.    private static boolean isSuperAdminProp;    /**     * Constructor called from JahiaAdministration     *     * @param   request       Servlet request.     * @param   response      Servlet response.     * @param   session       Servlet session for the current user.     *     * @throws Throwable     */    public ManageUsers( HttpServletRequest request,                        HttpServletResponse response,                        HttpSession session )    throws Throwable    {        // get services...        ServicesRegistry sReg = ServicesRegistry.getInstance();        if (sReg != null) {            uMgr = sReg.getJahiaUserManagerService();            gMgr = sReg.getJahiaGroupManagerService();        }        // get the current website. get the jahiaserver if it's null...        jahiaSite =  (JahiaSite) session.getAttribute( ParamBean.SESSION_SITE );        usersViewHelper = new UsersViewHelper(jahiaSite);        mLicenseKey = Jahia.getLicenseKey();        if ( mLicenseKey == null ){            // set request attributes...            request.setAttribute("jahiaDisplayMessage", "Invalid License Key");            // redirect...            doRedirect( request, response, session, JSP_PATH + "menu.jsp" );            return;        }        // continue the execution of user request...        userRequestDispatcher( request, response, session );    }    /**     * Default constructor.     *     * @throws Throwable     */    public ManageUsers()    throws Throwable    {        ServicesRegistry sReg =  ServicesRegistry.getInstance();        if (sReg != null) {            uMgr =  sReg.getJahiaUserManagerService();            gMgr =  sReg.getJahiaGroupManagerService();        }    }    /**     * This method is used like a dispatcher for user requests.     *     * @param   request       Servlet request.     * @param   response      Servlet response.     * @param   session       Servlet session for the current user.     *     * @throws Throwable     */    private void userRequestDispatcher( HttpServletRequest    request,                                        HttpServletResponse   response,                                        HttpSession           session )    throws Throwable    {        String operation = request.getParameter("sub");        if (operation.equals("display")) {                displayUsers(request, response, session);        } else if (operation.equals("search")) {            _searchResult = null;            displayUsers(request, response, session);        } else if (operation.equals("create")) {            displayUserCreate(request, response, session);        } else if (operation.equals("edit")) {            isSuperAdminProp = false;            displayUserEdit(request, response, session);        } else if (operation.equals("superAdminProps")) {            isSuperAdminProp = true;            displayUserEdit(request, response, session);        } else if (operation.equals("remove")) {            displayUserRemove(request, response, session);        } else if (operation.equals("processCreate")) {            if (processUserCreate(request, response, session)) {                displayUsers(request, response, session);            } else {                displayUserCreate(request, response, session);            }        } else if (operation.equals("processEdit")) {            if (processUserEdit(request, response, session)) {                if (isSuperAdminProp) {                    JahiaAdministration.displayMenu(request, response, session);                } else {                    displayUsers(request, response, session);                }            } else {                displayUserEdit(request, response, session);            }        } else if (operation.equals("processRemove")) {            processUserRemove(request, response, session);        } else if (operation.equals("homepage")) {            processHomePage(request, response, session);        }    }    /**     * Forward the servlet request and servlet response objects, using the request     * dispatcher (from the ServletContext). Note: please be careful, use only     * context relative path.     *     * @param       request             servlet request.     * @param       response            servlet response.     * @param       session             Servlet session for the current user.     * @param       target              target, context-relative path.     * @exception   IOException         an I/O exception occured during the process.     * @exception   ServletException    a servlet exception occured during the process.     */    private void doRedirect( HttpServletRequest   request,                             HttpServletResponse  response,                             HttpSession          session,                             String               target )    throws IOException, ServletException    {        try {            request.setAttribute("jahiaSite",jahiaSite);            // check null warning msg            if ( request.getAttribute("warningMsg") == null ) {                request.setAttribute("warningMsg", "");            }            // check null jsp bottom message, and fill in if necessary...            if ( request.getAttribute("msg") == null ) {                request.setAttribute("msg", Jahia.COPYRIGHT);            }            // check null configuration step title, and fill in if necessary...            if ( request.getAttribute("title") == null ) {                request.setAttribute("title", "Manage Users");            }            // redirect!            JahiaAdministration.doRedirect(request, response, session, target);        } catch (IOException ie) {            JahiaConsole.println(CLASS_NAME+".doRedirect() :" , "error " + ie.getMessage());        } catch (ServletException se) {            JahiaConsole.println(CLASS_NAME+".doRedirect() :",  "error " + se.getMessage());        }    }    /**     * Display the Jahia users and external (if possible) users management menus     * including the user search engine.     * @param request     * @param response     * @param session     * @throws IOException     * @throws ServletException     * @throws JahiaException     */    private void displayUsers(HttpServletRequest request,                              HttpServletResponse response,                              HttpSession session)    throws IOException, ServletException, JahiaException    {        request.setAttribute("providerList", uMgr.getProviderList());        if (_searchResult == null) {            _searchResult = usersViewHelper.getSearchResult(request);        }        request.setAttribute("resultList", usersViewHelper.getUserListForDisplay(_searchResult));        request.setAttribute("currentSite", jahiaSite.getServerName());        request.setAttribute("jspSource", JSP_PATH + "/user_management/user_management.jsp");        request.setAttribute("directMenu", JSP_PATH + "/direct_menu.jsp");        request.setAttribute("userSearch", JSP_PATH + "/user_management/user_search.jsp");        session.setAttribute("jahiaDisplayMessage", Jahia.COPYRIGHT);        session.setAttribute("userMessage", userMessage);        // Remove any home page definition from the session.        session.setAttribute("homePageID", null);        session.setAttribute("homePageLabel", null);        doRedirect(request, response, session, JSP_PATH + "/admin.jsp");        userMessage = "";    }    /**     * Display the user creation interface.     *     * @param request     * @param response     * @param session     * @throws IOException     * @throws ServletException     * @throws JahiaException     */    private void displayUserCreate(HttpServletRequest request,                                   HttpServletResponse response,                                   HttpSession session)    throws IOException, ServletException, JahiaException    {        JahiaConsole.println(CLASS_NAME+".displayUserCreate","started");        // Check user limitation according to license.        int nbUserSite = ServicesRegistry.getInstance().getJahiaUserManagerService().getNbUsers();        int nbUserLic = mLicenseKey.getUserLimit();        /** @todo  >= because default user 'root' is not considerated as a real user. */        if (!(nbUserLic == -1 || nbUserLic >= nbUserSite)) {            userMessage = "Sorry but the license is limited to " + nbUserLic + " users.";            displayUsers(request, response, session);            return;        }        HashMap userProperties = new HashMap();        userProperties.put("username", JahiaTools.nnString(request.getParameter("username")));        userProperties.put("firstname", JahiaTools.nnString(request.getParameter("firstname")));        userProperties.put("lastname", JahiaTools.nnString(request.getParameter("lastname")));        userProperties.put("email", JahiaTools.nnString(request.getParameter("email")));        userProperties.put("passwd", JahiaTools.nnString(request.getParameter("passwd")));        userProperties.put("passwdconfirm", JahiaTools.nnString(request.getParameter("passwdconfirm")));        userProperties.put("organization", JahiaTools.nnString(request.getParameter("organization")));        // Is here any home page definition ?        JahiaHomepagesService hpServ = ServicesRegistry.getInstance().getJahiaHomepagesService();        JahiaHomepage homePage = hpServ.getHomepage(jahiaSite.getUserDefaultHomepageDef());        if (homePage != null) {            JahiaHomepageLink homePageLink = (JahiaHomepageLink)homePage;            session.setAttribute("homePageID", new Integer(homePageLink.getPageID()));            request.setAttribute("defaultHomePage", JahiaPageBaseService.getInstance().                lookupPageWhitoutTemplates(homePageLink.getPageID()).getTitle() +                " (" + homePage.getName() + ")");        }        // set request attributes...        request.setAttribute("userProperties", userProperties);        session.setAttribute("userMessage", userMessage);        request.setAttribute("jspSource", JSP_PATH + "/user_management/user_create.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 user creation interface. If any problem, the "userRequestDispatcher"     * method is in charge to redisplay the user creation interface.     * 1) Check for a valid user name.     * 2) Check for a valid password.     * 3) Create a new user and put it into the Jahia DB.     *     * @param request     * @param response     * @param session     * @return true if operation successed, false otherwise.

⌨️ 快捷键说明

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