Package org.apache.jetspeed.om.security

Examples of org.apache.jetspeed.om.security.JetspeedUser


    public void grantRole(String username, String rolename)
        throws JetspeedSecurityException
    {
        try
        {
            JetspeedUser user = JetspeedSecurity.getUser(username);
            Role role = this.getRole(rolename);

            Criteria criteria = new Criteria();
            criteria.add(TurbineUserGroupRolePeer.USER_ID, user.getUserId());
            criteria.add(TurbineUserGroupRolePeer.GROUP_ID, JetspeedSecurity.JETSPEED_GROUP_ID);
            criteria.add(TurbineUserGroupRolePeer.ROLE_ID, role.getId());
            TurbineUserGroupRolePeer.doInsert(criteria);

            if (cachingEnable)
View Full Code Here


    public void revokeRole(String username, String rolename)
        throws JetspeedSecurityException
    {
        try
        {
            JetspeedUser user = JetspeedSecurity.getUser(username);
            Role role = this.getRole(rolename);

            Criteria criteria = new Criteria();
            criteria.add(TurbineUserGroupRolePeer.USER_ID, user.getUserId());
            criteria.add(TurbineUserGroupRolePeer.GROUP_ID, JetspeedSecurity.JETSPEED_GROUP_ID);
            criteria.add(TurbineUserGroupRolePeer.ROLE_ID, role.getId());
            TurbineUserGroupRolePeer.doDelete(criteria);

            if (cachingEnable)
View Full Code Here

                if (null != acl)
                {
                    return acl.hasRole(rolename);
                }
            }
            JetspeedUser user = JetspeedSecurity.getUser(username);
            Role role = this.getRole(rolename);

            Criteria criteria = new Criteria();
            criteria.add(TurbineUserGroupRolePeer.USER_ID, user.getUserId());
            criteria.add(TurbineUserGroupRolePeer.GROUP_ID, JetspeedSecurity.JETSPEED_GROUP_ID);
            criteria.add(TurbineUserGroupRolePeer.ROLE_ID, role.getId());
            roles = TurbineUserGroupRolePeer.doSelect(criteria);

        }
View Full Code Here

            duri.addPathInfo(SecurityConstants.PARAM_MSGID, SecurityConstants.MID_MISSING_PARAMETER);
            rundata.setRedirectURI(duri.toString());
            return;
        }

        JetspeedUser user = JetspeedSecurity.getUser(entityid);
        if (null == user)
        {
            logger.error("UserGroupBrowser: Failed to get user: " + entityid );
            DynamicURI duri = new DynamicURI (rundata);
            duri.addPathInfo(SecurityConstants.PANE_NAME, "UserGroupForm");
            duri.addPathInfo(SecurityConstants.PARAM_MSGID, SecurityConstants.MID_MISSING_PARAMETER);
            rundata.setRedirectURI(duri.toString());
            return;
        }


        try
        {
            List groups = (List)rundata.getUser().getTemp(SecurityConstants.CONTEXT_GROUPS);
            List selected = (List)rundata.getUser().getTemp(SecurityConstants.CONTEXT_SELECTED);

            if (groups == null || selected == null)
            {
                DynamicURI duri = new DynamicURI (rundata);
                duri.addPathInfo(SecurityConstants.PANE_NAME, "UserGroupForm");
                duri.addPathInfo(SecurityConstants.PARAM_MSGID, SecurityConstants.MID_MISSING_PARAMETER);
                rundata.setRedirectURI(duri.toString());
                return;
            }

            //
            // walk thru all the roles, see if anything changed
            // if changed, update the database
            //
            for (int ix = 0; ix < groups.size(); ix++)
            {
                boolean newValue = rundata.getParameters().getBoolean("box_" + ((Group)groups.get(ix)).getName(), false);
                boolean oldValue = ((Boolean)selected.get(ix + 1)).booleanValue();
                if (newValue != oldValue)
                {
                    if (newValue == true)
                    {
                        // grant a role to a user
                        JetspeedSecurity.joinGroup( user.getUserName(),
                                                ((Group)groups.get(ix)).getName() );
                    }
                    else
                    {
                        // revoke a role from a user
                        JetspeedSecurity.unjoinGroup( user.getUserName(),
                                                    ((Group)groups.get(ix)).getName() );
                    }
                }
            }

            // clear the temp values
            rundata.getUser().setTemp(SecurityConstants.CONTEXT_GROUPS, null);
            rundata.getUser().setTemp(SecurityConstants.CONTEXT_SELECTED, null);

        }
        catch (Exception e)
        {
           // log the error msg
            logger.error("Failed update role+permission: ", e);

            //
            // error on update - display error message
            //
            DynamicURI duri = new DynamicURI (rundata);
            duri.addPathInfo(SecurityConstants.PANE_NAME, "UserGroupForm");
            duri.addPathInfo(SecurityConstants.PARAM_MSGID, SecurityConstants.MID_UPDATE_FAILED);
            if (user != null)
                duri.addPathInfo(SecurityConstants.PARAM_ENTITY_ID, user.getUserName());
            rundata.setRedirectURI(duri.toString());

        }
    }
View Full Code Here

                                       RunData rundata,
                                       String userid)
        throws Exception
    {
        // get the user object
        JetspeedUser user = JetspeedSecurity.getUser(userid);
        if (null == user)
        {
            // no User found
            logger.error("UserGroupBrowser: Failed to get user: " + userid );
            return;
        }
        // get master list of roles
        Iterator groups = JetspeedSecurity.getGroups();
        ArrayList masterGroups = new ArrayList();
        ArrayList selected = new ArrayList();
        int ix = 0;
        boolean sel = false;
        selected.add(ix, new Boolean(sel));
        while(groups.hasNext())
        {
            Group group = (Group)groups.next();
            masterGroups.add(group);
            sel = JetspeedSecurity.inGroup(user.getUserName(), group.getName());
            ix = ix + 1;
            selected.add(ix, new Boolean(sel));
        }
        masterGroups.trimToSize();
        selected.trimToSize();
View Full Code Here

                                       Context context,
                                       RunData rundata )
    {
        try
        {
            JetspeedUser user = null;
            /*
             * Grab the mode for the user form.
             */
            String mode = rundata.getParameters().getString(SecurityConstants.PARAM_MODE);

            if (mode != null && (mode.equals(SecurityConstants.PARAM_MODE_UPDATE) ||
                                 mode.equals(SecurityConstants.PARAM_MODE_DELETE)))
            {
                // get the primary key and put the object in the context
                String username = rundata.getParameters().getString(SecurityConstants.PARAM_ENTITY_ID);
                user = JetspeedSecurity.getUser(username);
                context.put(SecurityConstants.CONTEXT_USER, user);
            }

            //
            // if there was an error, display the message
            //
            String msgid = rundata.getParameters().getString(SecurityConstants.PARAM_MSGID);
            if (msgid != null)
            {
                int id = Integer.parseInt(msgid);
                if (id < SecurityConstants.MESSAGES.length)
                    context.put(SecurityConstants.PARAM_MSG, SecurityConstants.MESSAGES[id]);

                // get the bad entered data and put it back for convenient update
                JetspeedUser tempUser = (JetspeedUser)rundata.getUser().getTemp(TEMP_USER);
                if (tempUser != null)
                    context.put(SecurityConstants.CONTEXT_USER, tempUser);

            }

View Full Code Here

     * @param context The velocity context for this request.
     */
    public void doInsert(RunData rundata, Context context)
        throws Exception
    {
        JetspeedUser user = null;
        try
        {
            //
            // validate that its not an 'blank' rolename -- not allowed
            //
            String name = rundata.getParameters().getString("username");
            if (name == null || name.trim().length() == 0)
            {
                DynamicURI duri = new DynamicURI (rundata);
                duri.addPathInfo(SecurityConstants.PANE_NAME, SecurityConstants.PANEID_USER_UPDATE);
                duri.addPathInfo(SecurityConstants.PARAM_MSGID, SecurityConstants.MID_INVALID_ENTITY_NAME);
                rundata.setRedirectURI(duri.toString());
                // save values that user just entered so they don't have to re-enter
                if (user != null)
                   rundata.getUser().setTemp(TEMP_USER, user);
                return;
            }


            //
            // create a new user
            //
            user = JetspeedSecurity.getUserInstance();
            rundata.getParameters().setProperties(user);

            String password = rundata.getParameters().getString("password");
            if (password == null)
                password = "";

            user.setUserName(JetspeedSecurity.convertUserName(user.getUserName()));

            Date now = new Date();
            user.setCreateDate(now);
            user.setLastLogin(now);
            user.setConfirmed(JetspeedResources.CONFIRM_VALUE);

            String disabled = rundata.getParameters().getString("disabled");
            user.setDisabled( disabled != null );

            //
            // add the user
            ///
            user.setPassword(password);
            JetspeedSecurity.addUser(user);
        }
        catch (NotUniqueUserException e)
        {
            // log the error msg
View Full Code Here

     * @param context The velocity context for this request.
     */
    public void doAccept(RunData rundata, Context context)
    throws Exception
    {
        JetspeedUser user = null;
        try
        {
            //
            // get the user object from the selected entry in the browser
            //
            user = (JetspeedUser)JetspeedSecurity.getUser(
                                           rundata.getParameters().getString(SecurityConstants.PARAM_ENTITY_ID));

            user.setConfirmed(JetspeedResources.CONFIRM_VALUE);

            //
            // update the user in the database
            //
            JetspeedSecurity.saveUser(user);


            //
            // tell the user that they can now use jetspeed
            //

            DynamicURI url = new DynamicURI(rundata);

            //build body via template
            StringWriter email_body = new StringWriter();
            SimpleEmail se = new SimpleEmail();
            Context emailContext = TurbineVelocity.getContext();
            emailContext.put( "data", rundata );
            emailContext.put( "user", user );
            emailContext.put( "config",new JetspeedResources());
            emailContext.put( "urltojetspeed",url);
            emailContext.put( "email",se);

            //determine the language to be used for the notification email
            String language = (String)user.getPerm("language",TurbineResources.getString("locale.default.language", "en"));
            String country = (String)user.getPerm("country",TurbineResources.getString("locale.default.country", "US"));
            Locale locale = new Locale(language,country);

            String templateFile = JetspeedResources.getString("newuser.approval.accept.template");
            String templatePath = TemplateLocator.locateEmailTemplate(rundata, templateFile, locale );
            TurbineVelocity.handleRequest(emailContext, templatePath, email_body);

            se.setMsg( email_body.toString() );

            Properties props = System.getProperties();
            String mailServerMachine = JetspeedResources.getString( "mail.server" );
            props.put ( "mail.host", mailServerMachine );
            props.put("mail.smtp.host", mailServerMachine);

            se.send();


        } catch (Exception e)
        {
            // log the error msg
            logger.error("Exception", e);

            //
            // error on update - display error message
            //
            DynamicURI duri = new DynamicURI (rundata);
            duri.addPathInfo(SecurityConstants.PANE_NAME, SecurityConstants.PANEID_USER_UPDATE);
            duri.addPathInfo(SecurityConstants.PARAM_MSGID, SecurityConstants.MID_UPDATE_FAILED);
            if (user != null)
                duri.addPathInfo(SecurityConstants.PARAM_ENTITY_ID, user.getUserName());
            duri.addQueryData(SecurityConstants.PARAM_MODE, SecurityConstants.PARAM_MODE_UPDATE);
            rundata.setRedirectURI(duri.toString());
            // save values that user just entered so they don't have to re-enter
            if (user != null)
                rundata.getUser().setTemp(TEMP_USER, user);
View Full Code Here

     * @param context The velocity context for this request.
     */
     public void doReject(RunData rundata, Context context)
    throws Exception
    {
        JetspeedUser user = null;
        try
        {
            //
            // get the user object from the selected entry in the browser
            //
            user = (JetspeedUser)JetspeedSecurity.getUser(
                                           rundata.getParameters().getString(SecurityConstants.PARAM_ENTITY_ID));

            user.setConfirmed(JetspeedResources.CONFIRM_VALUE_REJECTED);

            //
            // update the user in the database
            //
            JetspeedSecurity.saveUser(user);



            //
            // tell the user that they can now use jetspeed
            //

            DynamicURI url = new DynamicURI(rundata);

            //build body via template
            StringWriter email_body = new StringWriter();
            SimpleEmail se = new SimpleEmail();
            Context emailContext = TurbineVelocity.getContext();
            emailContext.put( "data", rundata );
            emailContext.put( "user", user );
            emailContext.put( "config",new JetspeedResources());
            emailContext.put( "urltojetspeed",url);
            emailContext.put( "email",se);

            //determine the language to be used for the notification email
            String language = (String)user.getPerm("language",TurbineResources.getString("locale.default.language", "en"));
            String country = (String)user.getPerm("country",TurbineResources.getString("locale.default.country", "US"));
            Locale locale = new Locale(language,country);

            String templateFile = JetspeedResources.getString("newuser.approval.reject.template");
            String templatePath = TemplateLocator.locateEmailTemplate(rundata, templateFile, locale );
            TurbineVelocity.handleRequest(emailContext, templatePath, email_body);

            se.setMsg( email_body.toString() );

            Properties props = System.getProperties();
            String mailServerMachine = JetspeedResources.getString( "mail.server" );
            props.put ( "mail.host", mailServerMachine );
            props.put("mail.smtp.host", mailServerMachine);

            se.send();

        } catch (Exception e)
        {
            // log the error msg
              logger.error("Exception", e);

            //
            // error on update - display error message
            //
            DynamicURI duri = new DynamicURI (rundata);
            duri.addPathInfo(SecurityConstants.PANE_NAME, SecurityConstants.PANEID_USER_UPDATE);
            duri.addPathInfo(SecurityConstants.PARAM_MSGID, SecurityConstants.MID_UPDATE_FAILED);
            if (user != null)
                duri.addPathInfo(SecurityConstants.PARAM_ENTITY_ID, user.getUserName());
            duri.addQueryData(SecurityConstants.PARAM_MODE, SecurityConstants.PARAM_MODE_UPDATE);
            rundata.setRedirectURI(duri.toString());
            // save values that user just entered so they don't have to re-enter
            if (user != null)
                rundata.getUser().setTemp(TEMP_USER, user);
View Full Code Here

     * @param context The velocity context for this request.
     */
    public void doUpdate(RunData rundata, Context context)
        throws Exception
    {
        JetspeedUser user = null;
        try
        {
            //
            // get the user object from the selected entry in the browser
            //
            user = (JetspeedUser)JetspeedSecurity.getUser(
                            rundata.getParameters().getString(SecurityConstants.PARAM_ENTITY_ID));

            String name = rundata.getParameters().getString("username");
            if (name == null || name.trim().length() == 0)
            {
                DynamicURI duri = new DynamicURI (rundata);
                duri.addPathInfo(SecurityConstants.PANE_NAME, SecurityConstants.PANEID_USER_UPDATE);
                duri.addPathInfo(SecurityConstants.PARAM_MSGID, SecurityConstants.MID_INVALID_ENTITY_NAME);
                if (user != null)
                    duri.addPathInfo(SecurityConstants.PARAM_ENTITY_ID, user.getUserName());
                duri.addQueryData(SecurityConstants.PARAM_MODE, SecurityConstants.PARAM_MODE_UPDATE);
                rundata.setRedirectURI(duri.toString());
                // save values that user just entered so they don't have to re-enter
                if (user != null)
                   rundata.getUser().setTemp(TEMP_USER, user);
                return;
            }

            //
            // pull the values off the form and into the user object
            //
            boolean oldDisabled = user.getDisabled();
            rundata.getParameters().setProperties(user);
            user.setLastAccessDate();

            JetspeedSecurity.forcePassword(user,rundata.getParameters().getString("password"));

            String strDisabled = rundata.getParameters().getString("disabled");
            boolean disabled = (strDisabled != null);
            user.setDisabled(disabled);

            if  (!disabled && oldDisabled && JetspeedSecurity.isDisableAccountCheckEnabled())
            {
                JetspeedSecurity.resetDisableAccountCheck(name);
            }

            //
            // update the user in the database
            //
            JetspeedSecurity.saveUser(user);

            JetspeedUser currentUser = (JetspeedUser)rundata.getUser();
            if (currentUser.getUserName().equals(user.getUserName()))
            {
                // same user as admin -- need to update in memory
                currentUser.setPassword(user.getPassword()); // Contains Encrypted password
                currentUser.setFirstName(user.getFirstName());
                currentUser.setLastName(user.getLastName());
                currentUser.setEmail(user.getEmail());
            }

        }
        catch (Exception e)
        {
View Full Code Here

TOP

Related Classes of org.apache.jetspeed.om.security.JetspeedUser

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.