Examples of PortletPreferences


Examples of javax.portlet.PortletPreferences

            return result ;
        }
       
        // System.out.println("SSOWebContentPortlet.doPreemptiveAuthentication...");
       
        PortletPreferences prefs = request.getPreferences();
        String type = getSingleSignOnAuthType(prefs);

        if (type.equalsIgnoreCase(SSO_TYPE_BASIC_PREEMPTIVE))
        {
            // Preemptive, basic authentication
            String userName = (String)request.getAttribute(SSO_REQUEST_ATTRIBUTE_USERNAME);
            if (userName == null) userName = "";
            String password = (String)request.getAttribute(SSO_REQUEST_ATTRIBUTE_PASSWORD);
            if (password == null) password = "";
           
            // System.out.println("...performing preemptive basic authentication with userName: "+userName+", and password: "+password);
            method.setDoAuthentication(true);
            method.getHostAuthState().setPreemptive();
            client.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(userName, password));
           
            // handled!
            return result ;
           
        }
        else if (type.startsWith(SSO_TYPE_FORM))
        {
            try
            {
                Boolean formAuth = (Boolean)PortletMessaging.receive(request, FORM_AUTH_STATE);
                if (formAuth != null)
                {
                    // already been here, done that
                    return (formAuth.booleanValue() ? result : null);
                }
                else
                {
                    // stop recursion, but assume failure, ...for now
                    PortletMessaging.publish(request, FORM_AUTH_STATE, Boolean.FALSE);
                }

                String formAction = prefs.getValue(SSO_TYPE_FORM_ACTION_URL, "");
                if (formAction == null || formAction.length() == 0)
                {
                    log.warn("sso.type specified as 'form', but no: "+SSO_TYPE_FORM_ACTION_URL+", action was specified - unable to preemptively authenticate by form.");
                    return null ;
                }
                String userNameField = prefs.getValue(SSO_TYPE_FORM_USERNAME_FIELD, "");
                if (userNameField == null || userNameField.length() == 0)
                {
                    log.warn("sso.type specified as 'form', but no: "+SSO_TYPE_FORM_USERNAME_FIELD+", username field was specified - unable to preemptively authenticate by form.");
                    return null ;
                }
                String passwordField = prefs.getValue(SSO_TYPE_FORM_PASSWORD_FIELD, "password");
                if (passwordField == null || passwordField.length() == 0)
                {
                    log.warn("sso.type specified as 'form', but no: "+SSO_TYPE_FORM_PASSWORD_FIELD+", password field was specified - unable to preemptively authenticate by form.");
                    return null ;
                }
               
                String userName = (String)request.getAttribute(SSO_REQUEST_ATTRIBUTE_USERNAME);
                if (userName == null) userName = "";
                String password = (String)request.getAttribute(SSO_REQUEST_ATTRIBUTE_PASSWORD);
                if (password == null) password = "";

                // get submit method
                int i = type.indexOf('.');
                boolean isPost = i > 0 ? type.substring(i+1).equalsIgnoreCase("post") : true ;    // default to post, since it is a form
           
                // get parameter map
                HashMap formParams = new HashMap();
                formParams.put(userNameField,new String[]{ userName });
                formParams.put(passwordField,new String[]{ password });
                String formArgs = prefs.getValue(SSO_TYPE_FORM_ACTION_ARGS, "");
                if (formArgs != null && formArgs.length() > 0)
                {
                    StringTokenizer iter = new StringTokenizer(formArgs, ";");
                    while (iter.hasMoreTokens())
                    {
                        String pair = iter.nextToken();
                        i = pair.indexOf('=') ;
                        if (i > 0)
                            formParams.put(pair.substring(0,i), new String[]{pair.substring(i+1)});
                    }
                }

                // resuse client - in case new cookies get set - but create a new method (for the formAction)
                String formMethod = (isPost) ? FORM_POST_METHOD : FORM_GET_METHOD;               
                method = getHttpMethod(client, getURLSource(formAction, formParams, request, response), formParams, formMethod, request);
                // System.out.println("...posting credentials");
                result = doHttpWebContent(client, method, 0, request, response) ;
                // System.out.println("Result of attempted authorization: "+success);
                PortletMessaging.publish(request, FORM_AUTH_STATE, Boolean.valueOf(result != null));
                return result ;
            }
            catch (Exception ex)
            {
                // bad
                log.error("Form-based authentication failed", ex);
            }
        }
        else if (type.equalsIgnoreCase(SSO_TYPE_URL) || type.equalsIgnoreCase(SSO_TYPE_URL_BASE64))
        {
            // set user name and password parameters in the HttpMethod
            String userNameParam = prefs.getValue(SSO_TYPE_URL_USERNAME_PARAM, "");
            if (userNameParam == null || userNameParam.length() == 0)
            {
                log.warn("sso.type specified as 'url', but no: "+SSO_TYPE_URL_USERNAME_PARAM+", username parameter was specified - unable to preemptively authenticate by URL.");
                return null ;
            }
            String passwordParam = prefs.getValue(SSO_TYPE_URL_PASSWORD_PARAM, "");
            if (passwordParam == null || passwordParam.length() == 0)
            {
                log.warn("sso.type specified as 'url', but no: "+SSO_TYPE_URL_PASSWORD_PARAM+", password parameter was specified - unable to preemptively authenticate by URL.");
                return null ;
            }
View Full Code Here

Examples of javax.portlet.PortletPreferences

    }
   
    protected Map<String, String> retrieveCategoryKeywordsMap(List<String> categories, PortletRequest request) throws PortletException
    {
        Map<String, String> keywordsMap = new HashMap<String, String>();
        PortletPreferences prefs = request.getPreferences();
       
        for (String category : categories)
        {
            String keywords = prefs.getValue("Keywords:" + category, "");
            keywordsMap.put(category, keywords);
        }
       
        return keywordsMap;
    }
View Full Code Here

Examples of javax.portlet.PortletPreferences

        PortletMode curMode = actionRequest.getPortletMode();
        if (curMode == PortletMode.EDIT ||
            curMode.equals(JetspeedActions.EDIT_DEFAULTS_MODE))
        {
            PortletPreferences prefs = actionRequest.getPreferences();
            PreferencesHelper.requestParamsToPreferences(actionRequest);
            prefs.store();
            actionResponse.setPortletMode(PortletMode.VIEW);
            return;
        }
       
        try
        {

            for (int i = 0; i < formKeys.length; i++)
            {
                try
                {
                    String key = (String) formKeys[i][0];
                    Boolean isRequired = (Boolean) formKeys[i][1];
                    String value = actionRequest.getParameter(key);
                    if ((value != null) && (value.length() > 0))
                    {

                        userInfo.put(key, value);

                        // do some validation
                        if (!validateFormValue(value, (Integer) formKeys[i][2],
                                (Integer) formKeys[i][3]))
                        {
                            errors.add(resource
                                    .getString("error.invalid-format." + key));
                        }

                        if (key.startsWith("user."))
                        {
                            value = convertIfNeed(key, value);
                            // we'll assume that these map back to PLT.D values
                            userAttributes.put(key, value);
                        }
                    } else
                    {
                        // don't have that value or it's too short... is it
                        // required ?
                        if (isRequired.booleanValue())
                        {
                            errors.add(resource.getString("error.lacking."
                                    + key));
                        }
                        // place an empty version in userInfo anyway
                        // so that the template will display the correct fields
                        userInfo.put(key, "");
                    }
                } catch (MissingResourceException mre)
                {
                    errors.add(resource.getString("error.failed_to_add")
                            + mre.toString());
                }

            }
            // publish the whole map so we can reload the form values on error.
            publishRenderMessage(actionRequest, MSG_USERINFO, userInfo);

            // These next checks may duplicate previous checks.
            // however this is a double check given the nature of the values and
            // how they are used.
            if (this.optionForceEmailAsUsername)
            {
                // email is something special
                if (!ValidationHelper.isEmailAddress((String) userInfo
                        .get(USER_ATTRIBUTE_EMAIL), true, 80))
                {
                    errors.add(resource.getString("error.invalid-format."
                            + USER_ATTRIBUTE_EMAIL));
                }
            } else
            {
                if (!ValidationHelper.isAny((String) userInfo.get("user.name"),
                        true, 80))
                {
                    errors.add(resource.getString("error.lacking.user.name"));
                }
            }

            // if we're not generating make sure it's real
            if (!this.optionForceGeneratedPasswords)
            {
                if (!ValidationHelper.isAny((String) userInfo.get("password"),
                        true, 25))
                {
                    errors.add(resource.getString("error.lacking.password"));
                }
            }

            if (optionForceEmailAsUsername)
            {
                // force user.name to be same as email
                userInfo.put("user.name", userInfo.get(USER_ATTRIBUTE_EMAIL));
            }

            boolean userIdExistsFlag = true;
            try
            {
                userManager.getUser((String) userInfo.get("user.name"));
            } catch (SecurityException e)
            {
                userIdExistsFlag = false;
            }
            //
            if (userIdExistsFlag)
            {
                errors.add(resource.getString("error.userid_already_exists"));
                publishRenderMessage(actionRequest, MSG_MESSAGE, errors);
                return;
            }
            if (optionForceEmailsToBeSystemUnique)
            {
                boolean emailExistsFlag = true;
                User user = null;
                try
                {
                    user = admin.lookupUserFromEmail((String) userInfo
                            .get(USER_ATTRIBUTE_EMAIL));
                } catch (AdministrationEmailException e1)
                {
                    emailExistsFlag = false;
                }
                if ((emailExistsFlag) || (user != null))
                {
                    errors
                            .add(resource
                                    .getString("error.email_already_exists"));
                    publishRenderMessage(actionRequest, MSG_MESSAGE, errors);
                    return;
                }

            }

            try
            {
                if (optionForceGeneratedPasswords)
                {
                    String password = admin.generatePassword();
                    userInfo.put("password", password);
                } else
                {
                    if (userInfo.get("password").equals(
                            userInfo.get("verifyPassword")))
                    {

                    } else
                    {
                        errors.add(resource
                                .getString("error.two_passwords_do_not_match"));
                        publishRenderMessage(actionRequest, MSG_MESSAGE, errors);
                        return;
                    }
                }
            } catch (Exception e)
            {
                errors.add(resource.getString("error.failed_to_add")
                        + e.toString());
                publishRenderMessage(actionRequest, MSG_MESSAGE, errors);
            }
            // make sure no errors have occurred
            if (errors.size() > 0)
            {
                publishRenderMessage(actionRequest, MSG_MESSAGE, errors);
                return;
            }

            // Ok, we think we're good to go, let's create the user!
            try
            {
                PortletPreferences prefs = actionRequest.getPreferences();
                String template = prefs.getValue("newUserTemplateDirectory", "");
                if (template.trim().length() == 0)
                    template = null;
                String subsiteRootFolder = prefs.getValue("subsiteRootFolder", "");
                if (subsiteRootFolder.trim().length() == 0)
                    subsiteRootFolder = null;
                List prefRoles = getPreferencesList(prefs, IP_ROLES);
                if (prefRoles.isEmpty())
                    prefRoles = this.roles;
                List prefGroups = getPreferencesList(prefs, IP_GROUPS);
                if (prefGroups.isEmpty())
                    prefGroups = this.groups;
               
                List names = getPreferencesList(prefs, IP_RULES_NAMES);
                List values = getPreferencesList(prefs, IP_RULES_VALUES);
                Map profileRules = new HashMap();
                for (int ix = 0; ix < ((names.size() < values.size()) ? names.size()
                        : values.size()); ix++)
                {
                    profileRules.put(names.get(ix), values.get(ix));
                }
                if (profileRules.isEmpty())
                    profileRules = this.rules;
               
                admin.registerUser((String) userInfo.get("user.name"),
                        (String) userInfo.get("password"), prefRoles,
                        prefGroups, userAttributes, // note use of only
                                                        // PLT.D values here.
                        profileRules, template, subsiteRootFolder,
                        actionRequest.getLocale(), actionRequest.getServerName());
               
                String urlGUID = ForgottenPasswordPortlet.makeGUID(
                        (String) userInfo.get("user.name"), (String) userInfo
                                .get("password"));

                userInfo.put(CTX_RETURN_URL, generateReturnURL(actionRequest,
                        actionResponse, urlGUID));

                String templ = getTemplatePath(actionRequest, actionResponse);

                if (templ == null) { throw new Exception(
                        "email template not available"); }

                boolean sendEmail = prefs.getValue("SendEmail", "true").equals("true");
                if (sendEmail)
                {
                    admin.sendEmail(getPortletConfig(), (String) userInfo
                            .get(USER_ATTRIBUTE_EMAIL),
                            getEmailSubject(actionRequest), templ, userInfo);
View Full Code Here

Examples of javax.portlet.PortletPreferences

      String category = "All";
      String pageNumber = ""
    String row = "";   
    String columns = "";
    int portletPerPages=0;
      PortletPreferences prefs = request.getPreferences();
    category = request.getParameter(CATEGORY);
    pageNumber = request.getParameter(PAGENUMNER);
    String filter = request.getParameter(FILTER);
    columns = prefs.getValue("Columns", "4");
    row = prefs.getValue("Rows", "6");
    portletPerPages = Integer.parseInt(columns) * Integer.parseInt(row);
    if (category == null || category.equals("")) category = "All";
    if (pageNumber == null || pageNumber.equals("")) pageNumber = "1";
    if (filter == null ||  filter.equals("")) filter = null;
    CategoryResult result = getPortlets(request, category, pageNumber, portletPerPages, filter);
View Full Code Here

Examples of javax.portlet.PortletPreferences

        {
            return categories;
        }
        Locale locale = request.getLocale();       
        categories = new ArrayList();
        PortletPreferences prefs = request.getPreferences();
        String cats = prefs.getValue("Categories", null);
        if (cats == null)
        {
            throw new PortletException("No categories defined, please add categories via edit mode.");
        }
        StringTokenizer catTokenizer = new StringTokenizer(cats, ",");
        while (catTokenizer.hasMoreTokens())
        {
            String name = catTokenizer.nextToken().trim();
            CategoryInfo cat = new CategoryInfo(name);
            String keywords = prefs.getValue("Keywords:" + name, null);
            if (keywords != null)
            {
                StringTokenizer keyTokenizer = new StringTokenizer(keywords, ",");
                StringBuffer searchString = new StringBuffer();
                int count = 0;
View Full Code Here

Examples of javax.portlet.PortletPreferences

     * @see org.apache.portals.bridges.velocity.GenericVelocityPortlet#doEdit(javax.portlet.RenderRequest, javax.portlet.RenderResponse)
     */
    public void doEdit(RenderRequest request, RenderResponse response) throws PortletException, IOException
    {
        Context context = getContext(request);
        PortletPreferences prefs = request.getPreferences();
        String cats = prefs.getValue("Categories", null);
        List categories = new ArrayList();
        if (cats != null)
        {
            StringTokenizer catTokenizer = new StringTokenizer(cats, ",");
            while (catTokenizer.hasMoreTokens())
            {
                String name = catTokenizer.nextToken().trim();
                CategoryInfo cat = new CategoryInfo(name);
                String keys = prefs.getValue("Keywords:" + name, "");
                cat.setKeywords(keys);
                categories.add(cat);
            }
        }
        context.put("categories", categories);
        context.put("Rows", prefs.getValue("Rows", "5"));
        context.put("Columns", prefs.getValue("Columns", "4"));
        processPage(request);
        super.doEdit(request, response);
    }
View Full Code Here

Examples of javax.portlet.PortletPreferences

     * @see org.apache.portals.bridges.common.GenericServletPortlet#doView(javax.portlet.RenderRequest, javax.portlet.RenderResponse)
     */
    public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException
    {
        // provider button labels and domains
        PortletPreferences prefs = request.getPreferences();
        List<String> providerButtonLabels = OpenIDRegistrationConfiguration.parseParameterList(prefs.getValue(PROVIDER_LABELS_PREF_NAME, null));
        List<String> providerButtonDomains = OpenIDRegistrationConfiguration.parseParameterList(prefs.getValue(PROVIDER_DOMAINS_PREF_NAME, null));
        if ((providerButtonLabels == null) || providerButtonLabels.isEmpty() || (providerButtonDomains == null) || providerButtonDomains.isEmpty())
        {
            providerButtonLabels = initProviderLabels;
            providerButtonDomains = initProviderDomains;
        }
        if ((providerButtonLabels != null) && !providerButtonLabels.isEmpty() && (providerButtonDomains != null) && !providerButtonDomains.isEmpty())
        {
            Map<String,String> providerButtons = new LinkedHashMap<String,String>();
            Iterator<String> labelsIter = providerButtonLabels.iterator();
            Iterator<String> domainsIter = providerButtonDomains.iterator();
            while (labelsIter.hasNext() && domainsIter.hasNext())
            {
                providerButtons.put(domainsIter.next(), labelsIter.next());
            }
            request.setAttribute(PROVIDER_BUTTONS_ATTR_NAME, providerButtons);
        }
        // enable OpenID entry
        boolean enableOpenIDEntry = initEnableOpenIDEntry;
        String enableOpenIDEntryPref = prefs.getValue(ENABLE_OPEN_ID_ENTRY_PREF_NAME, null);
        if (enableOpenIDEntryPref != null)
        {
            enableOpenIDEntry = Boolean.parseBoolean(enableOpenIDEntryPref);
        }
        request.setAttribute(ENABLE_OPEN_ID_ENTRY_ATTR_NAME, Boolean.toString(enableOpenIDEntry));
View Full Code Here

Examples of javax.portlet.PortletPreferences

     * @see org.apache.portals.bridges.common.GenericServletPortlet#doEdit(javax.portlet.RenderRequest, javax.portlet.RenderResponse)
     */
    public void doEdit(RenderRequest request, RenderResponse response) throws PortletException, IOException
    {
        // access provider and registration preferences to edit
        PortletPreferences prefs = request.getPreferences();
        for (String prefName : PREF_NAMES)
        {
            String prefValue = prefs.getValue(prefName, null);
            if (prefValue != null)
            {
                request.setAttribute(prefName, prefValue);
            }
        }
View Full Code Here

Examples of javax.portlet.PortletPreferences

                if (action.equals(OpenIDConstants.OPEN_ID_LOGIN_REQUEST))
                {
                    // access new user registration init parameters and preferences
                    // and save in session for consumption by the OpenIDRelayingPartyServlet
                    String logConfiguration = "none";
                    PortletPreferences prefs = actionRequest.getPreferences();
                    if (Boolean.parseBoolean(prefs.getValue(ENABLE_REGISTRATION_CONFIG_PREF_NAME, null)))
                    {
                        OpenIDRegistrationConfiguration registrationConfiguration = new OpenIDRegistrationConfiguration();
                        registrationConfiguration.setEnableRegistration(prefs.getValue(ENABLE_REGISTRATION_PREF_NAME, null));
                        registrationConfiguration.setUserTemplateDirectory(prefs.getValue(REGISTRATION_USER_TEMPLATE_PREF_NAME, null));
                        registrationConfiguration.setSubsiteRootFolder(prefs.getValue(REGISTRATION_SUBSITE_ROOT_PREF_NAME, null));
                        registrationConfiguration.setRoles(prefs.getValue(REGISTRATION_ROLES_PREF_NAME, null));
                        registrationConfiguration.setGroups(prefs.getValue(REGISTRATION_GROUPS_PREF_NAME, null));
                        registrationConfiguration.setProfilerRules(prefs.getValue(REGISTRATION_PROFILER_RULE_NAMES_PREF_NAME, null), prefs.getValue(REGISTRATION_PROFILER_RULE_VALUES_PREF_NAME, null));
                        registrationConfiguration.merge(initRegistrationConfiguration);
                        requestContext.setSessionAttribute(OpenIDConstants.OPEN_ID_REGISTRATION_CONFIGURATION, registrationConfiguration);
                        logConfiguration = "preferences";
                    }
                    else if (initRegistrationConfiguration != null)
                    {
                        requestContext.setSessionAttribute(OpenIDConstants.OPEN_ID_REGISTRATION_CONFIGURATION, initRegistrationConfiguration);
                        logConfiguration = "init params";
                    }

                    // login redirect to OpenIDRelayingPartyServlet
                    String discoveryParam = actionRequest.getParameter(OpenIDConstants.OPEN_ID_DISCOVERY);
                    servletRedirect += (((discoveryParam != null) && (discoveryParam.length() > 0)) ? "&"+OpenIDConstants.OPEN_ID_DISCOVERY+"="+discoveryParam : "");
                    String providerParam = actionRequest.getParameter(OpenIDConstants.OPEN_ID_PROVIDER);
                    servletRedirect += (((providerParam != null) && (providerParam.length() > 0)) ? "&"+OpenIDConstants.OPEN_ID_PROVIDER+"="+providerParam : "");
                    actionResponse.sendRedirect(servletRedirect);

                    // log user login
                    if (log.isDebugEnabled())
                    {
                        log.debug("OpenID login: discovery: "+discoveryParam+", provider: "+providerParam+", configuration: "+logConfiguration);
                    }
                }
                else if (action.equals(OpenIDConstants.OPEN_ID_LOGOUT_REQUEST))
                {
                    // logout redirect to OpenIDRelayingPartyServlet
                    actionResponse.sendRedirect(servletRedirect);

                    // log user logout
                    if (log.isDebugEnabled())
                    {
                        log.debug("OpenID logout");
                    }
                }
            }           
        }
        else if (curMode.equals(JetspeedActions.EDIT_DEFAULTS_MODE))
        {
            // default preferences edit mode
            if (actionRequest.getParameter(SAVE_ACTION_PARAM_NAME) != null)
            {
                // save provider and registration preferences
                PortletPreferences prefs = actionRequest.getPreferences();
                boolean storePrefs = false;
                for (String prefName : PREF_NAMES)
                {
                    String prefValue = actionRequest.getParameter(prefName);
                    if ((prefValue != null) && (prefValue.length() > 0))
                    {
                        if (!prefValue.equals(prefs.getValue(prefName, null)))
                        {
                            prefs.setValue(prefName, prefValue);
                            storePrefs = true;
                        }
                    }
                    else if (BOOLEAN_PREF_NAMES.indexOf(prefName) != -1)
                    {
                        String booleanPrefValue = prefs.getValue(prefName, null);
                        if ((booleanPrefValue == null) || !booleanPrefValue.equals("false"))
                        {
                            prefs.setValue(prefName, "false");
                            storePrefs = true;
                        }
                    }
                    else if (prefs.getValue(prefName, null) != null)
                    {
                        prefs.setValue(prefName, null);
                        storePrefs = true;
                    }
                }
               
                // store preferences
                if (storePrefs)
                {
                    prefs.store();
                }

                // log store preferences
                if (log.isDebugEnabled())
                {
View Full Code Here

Examples of javax.portlet.PortletPreferences

            previewPage = reqPreviewPage;
        }
       
        if (allowPreferences == true)
        {
            PortletPreferences prefs = request.getPreferences();
           
            if (prefs != null && reqPreviewPage == null)
            {
                previewPage = prefs.getValue(PARAM_PREVIEW_PAGE, defaultPreviewPage);
            }
        }
       
        if (previewPage != null)
        {
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.