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

📄 managerights.java

📁 java 写的一个新闻发布系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
////                                   ____.//                       __/\ ______|    |__/\.     _______//            __   .____|    |       \   |    +----+       \//    _______|  /--|    |    |    -   \  _    |    :    -   \_________//   \\______: :---|    :    :           |    :    |         \________>//           |__\---\_____________:______:    :____|____:_____\//                                      /_____|////                 . . . i n   j a h i a   w e   t r u s t . . .//package org.jahia.engines.rights;import java.util.*;import javax.servlet.http.HttpSession;import org.jahia.engines.JahiaEngine;import org.jahia.engines.users.SelectUG_Engine;import org.jahia.exceptions.JahiaException;import org.jahia.exceptions.JahiaSessionExpirationException;import org.jahia.params.ParamBean;import org.jahia.registries.ServicesRegistry;import org.jahia.services.acl.*;import org.jahia.services.usermanager.*;import org.jahia.utils.JahiaConsole;import org.jahia.utils.JahiaString;import org.jahia.utils.JahiaTools;/** * * <p>Title: Jahia</p> * <p>Description: CMS Enterprise Portal</p> * <p>Copyright: Copyright (c) 2002</p> * <p>Company: Jahia SA</p> * @author map * @version 1.0 */public class ManageRights {    private static ManageRights theObject = null;    private static final String JSP_FILE = "/jsp/jahia/engines/rights/manage_rights.jsp";    private static final String CLASS_NAME = ManageRights.class.getName();    /**     * @return a single instance of the object     */    public static synchronized ManageRights getInstance()    {        if (theObject == null) {            theObject = new ManageRights();        }        return theObject;    }    /**     *     * @param jParams   a ParamBean object     * @param mode      the mode, according to JahiaEngine     * @param engineMap the engine parameters stored in a HashMap     * @param aclID     the ACL DB identifier from "jahia_acl" table     * @return true     if action was executed whithout problem     * @throws JahiaException     * @throws JahiaSessionExpirationException     * @see    org.jahia.engines.JahiaEngine     */    public boolean handleActions (ParamBean jParams, int mode, HashMap engineMap, int aclID)    throws  JahiaException, JahiaSessionExpirationException    {        JahiaBaseACL theACL = null;        try {            theACL = new JahiaBaseACL (aclID);        }        catch (ACLNotFoundException ex) {            return false;        }        catch (JahiaException ex) {            return false;        }        HttpSession session = jParams.getSession();        session.setAttribute ("jahia_session_acl", theACL);        switch (mode) {            case (JahiaEngine.LOAD_MODE) :                return loadACLEntries(jParams, engineMap, theACL);            case (JahiaEngine.UPDATE_MODE) :                return update( jParams, engineMap, theACL );            case (JahiaEngine.SAVE_MODE) :                return saveACLEntries( jParams, engineMap, theACL );        }        return false;    }    /**     * Load all the ACL entries and inherited ACL from parent object. Format the     * output to the following string sequence :<br>     *      [usr/grptype permStr provider usr/grpname properties]<br><br>     * Where :     *      <li>usr/grptype, indicate if the entry is a user or a group<br>     *      <li>permStr, is the permissions sequence : Admin, write, rights accesses<br>     *      <li>provider, is the source where the user and the group are coming from<br>     *      <li>usr/grpname, is the username or the groupname<br>     *      <li>properties, is the user firstname following by the user lastname or     *          the user e-mail. Is the group member name for the group.<br><br>     * Example :<br>     *      u jahia  -wr  gdupont      G閞ard Dupont<br>     * @param jParams   a Parambean object     * @param engineMap the engine parameters stored in a HashMap     * @param acl       the ACL DB identifier from "jahia_acl" table     * @return  true if the entries are loaded successfully     * @throws JahiaException when acl "getID" failed or when renderLink to     *  select user popup failed.     */    private boolean loadACLEntries(ParamBean jParams, HashMap engineMap, JahiaBaseACL acl)    throws JahiaException    {        JahiaConsole.println(CLASS_NAME + ".loadACLEntries", "Load ACL entries in ManageRights - AclID: " + acl.getID());        JahiaConsole.println(CLASS_NAME + ".loadACLEntries", acl.toString());        ArrayList aclEntries = new ArrayList();        // Lookup for USER ACL entries and inherited ACL        Vector userList = acl.getUsernameList(null);        Enumeration userListEnum = userList.elements();        while (userListEnum.hasMoreElements()) {            String userKey = (String)userListEnum.nextElement();            JahiaConsole.println(CLASS_NAME + ".loadACLEntries", userKey);            JahiaUser user = ServicesRegistry.getInstance().getJahiaUserManagerService().lookupUser(userKey);            if (user != null) {                // Construct permissions string                String permStr = getPermissionsAsString(user, acl, jParams);                // Where does the user coming from ?                String provider = JahiaString.adjustStringSize(user.                    getProviderName(), 6) + " ";                // Construct a displayable username                String usrname = JahiaString.adjustStringSize(user.getUsername(),                    10);                // Find a displayable user property                String properties = "";                String firstname = user.getProperty("firstname");                String lastname = user.getProperty("lastname");                if (firstname != null) {                    properties += firstname;                    if (firstname.length() < 20)                        properties += " ";                }                if (lastname != null)                    properties += lastname;                if ("".equals(properties)) {                    String email = user.getProperty("email");                    if (email != null)                        properties += email;                }                properties = JahiaString.adjustStringSize(properties, 20);                // Construct select option text                String aclEntryStr = "u " + permStr + " " + provider + usrname +                    " " + properties;                // Construct select option value                String value = "00000000" + permStr + usrname + "u" + userKey;                aclEntries.add(JahiaTools.replacePattern(value, " ", "&nbsp;"));                aclEntries.add(JahiaTools.replacePattern(aclEntryStr, " ",                    "&nbsp;"));            } else {                JahiaConsole.println(CLASS_NAME + ".loadACLEntries",                                     "Ignoring ACL entry for userKey " +                                     userKey +                                     " as the user could not be found !");            }        }        // Look up group        Vector groupList = acl.getGroupnameListNoAdmin(null);        Enumeration groupListEnum = groupList.elements();        while (groupListEnum.hasMoreElements()) {            String groupKey = (String)groupListEnum.nextElement();            JahiaConsole.println(CLASS_NAME + ".loadACLEntries", groupKey);            JahiaGroup group = ServicesRegistry.getInstance().getJahiaGroupManagerService().lookupGroup(groupKey);            // Construct permissions string            String permStr = getPermissionsAsString(group, acl, jParams);            // Where does the group coming from ?            String provider = JahiaString.adjustStringSize(group.getProviderName(), 6) + " ";            // Construct a displayable groupname            String grpname = JahiaString.adjustStringSize(group.getGroupname(), 10);            // Find some group members for properties            Enumeration grpMembers = group.members();            String members = "(";            while (grpMembers.hasMoreElements()) {                Object obj = (Object)grpMembers.nextElement();                if (obj instanceof JahiaUser) {                    JahiaUser tmpUser = (JahiaUser)obj;                    members += tmpUser.getUsername();

⌨️ 快捷键说明

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