Package org.infoglue.cms.security

Examples of org.infoglue.cms.security.InfoGluePrincipal


          fail(e.getMessage());
      }

      try
      {
          RepositoryController.getController().delete(this.newRepositoryVO, new InfoGluePrincipal("test-user", "first", "last", "email", Collections.singletonList(new InfoGlueRole("cmsUser", "test description", null)), new ArrayList(), false, null));
    }
      catch(Exception e)
      {
          e.printStackTrace();
          fail(e.getMessage());
View Full Code Here


                 
                  Iterator userIterator = users.iterator();
               
              while(userIterator.hasNext())
                {
                    InfoGluePrincipal principal = (InfoGluePrincipal)userIterator.next();
                    if(principal.getName().equalsIgnoreCase(accessRightUserVO.getUserName()))
                    {
                      isValid = true;
                      break;
                    }
                }
View Full Code Here

        String name = "Authorization module";
        String description = "Testing if the authorization module can get the data it needs.";

        try
        {
          InfoGluePrincipal user = UserControllerProxy.getController().getUser("mattias");
            addValidationItem(name, "Testing if the authorization module can get user: ", true, "Found " + user.getName());
            /*
          List users = UserControllerProxy.getController().getAllUsers();
            List roles = RoleControllerProxy.getController().getAllRoles();
            List groups = GroupControllerProxy.getController().getAllGroups();
           
View Full Code Here

          String subscriptionUrl     = componentEditorUrl + "Subscriptions!input.action?interceptionPointCategory=Content&entityName=" + Content.class.getName() + "&entityId=" + this.contentId + "&extraParameters=" + this.contentId + "&returnAddress=" + URLEncoder.encode(returnAddress, "utf-8");
          String pageSubscriptionUrl   = componentEditorUrl + "Subscriptions!input.action?interceptionPointCategory=SiteNodeVersion&entityName=" + SiteNode.class.getName() + "&entityId=" + this.getController().getSiteNodeId() + "&returnAddress=" + URLEncoder.encode(returnAddress, "utf-8");
          //String newsFlowUrl       = componentEditorUrl + "Workflow!startWorkflow.action?workflowName=Skapa+nyhet&finalReturnAddress=" + URLEncoder.encode(returnAddress, "utf-8") + "";
          String mySettingsUrl     = componentEditorUrl + "ViewMySettings.action";
                   
        InfoGluePrincipal principal = getController().getPrincipal();
          String cmsUserName = (String)getController().getHttpServletRequest().getSession().getAttribute("cmsUserName");
          if(cmsUserName != null && !CmsPropertyHandler.getAnonymousUser().equalsIgnoreCase(cmsUserName))
            principal = getController().getPrincipal(cmsUserName);

        Locale locale = this.getController().getLocaleAvailableInTool(principal);
View Full Code Here

            // portlet
            StringWriter sw = new StringWriter();
            PrintWriter pw = new PrintWriter(sw);
            ServletResponseImpl wrappedResponse = (ServletResponseImpl) ServletObjectAccess.getStoredServletResponse(response, pw);
           
        InfoGluePrincipal infogluePrincipal = (InfoGluePrincipal)wrappedRequest.getSession().getAttribute("infogluePrincipal");
            if(infogluePrincipal != null)
        {
              wrappedRequest.setAttribute("infogluePrincipal", infogluePrincipal);
              wrappedRequest.setAttribute("infoglueRemoteUser", infogluePrincipal.getName());
              wrappedRequest.setAttribute("cmsUserName", infogluePrincipal.getName());
        }
           
            // -- Ask portlet container to render the portlet (into buffer)
            portletContainer.renderPortlet(renderWindow, wrappedRequest, wrappedResponse);
            log.debug("Rendering OK!");
View Full Code Here

    try
    {
      SiteNodeVO siteNodeVO = SiteNodeController.getController().getSiteNodeVOWithId(siteNodeId);
      LanguageVO masterLanguageVO = LanguageController.getController().getMasterLanguage(siteNodeVO.getRepositoryId());
        
      InfoGluePrincipal principal = this.getTemplateController().getPrincipal();
      String cmsUserName = (String)this.getTemplateController().getHttpServletRequest().getSession().getAttribute("cmsUserName");
      if(cmsUserName != null)
        principal = this.getTemplateController().getPrincipal(cmsUserName);
       
      List<ContentVO> sortedPageTemplates = PageTemplateController.getController().getPageTemplates(principal, masterLanguageVO.getId());
View Full Code Here

   
    try
    {
      String componentEditorUrl = CmsPropertyHandler.getComponentEditorUrl();

      InfoGluePrincipal principal = templateController.getPrincipal();
        String cmsUserName = (String)templateController.getHttpServletRequest().getSession().getAttribute("cmsUserName");
        if(cmsUserName != null && !CmsPropertyHandler.getAnonymousUser().equalsIgnoreCase(cmsUserName))
          principal = templateController.getPrincipal(cmsUserName);

        //Locale locale = templateController.getLocale();
        Locale locale = templateController.getLocaleAvailableInTool(principal);

        boolean hasAccessToAccessRights = AccessRightController.getController().getIsPrincipalAuthorized(templateController.getDatabase(), principal, "ComponentEditor.ChangeSlotAccess", "");
      boolean hasAccessToAddComponent = AccessRightController.getController().getIsPrincipalAuthorized(templateController.getDatabase(), principal, "ComponentEditor.AddComponent", "" + component.getContentId() + "_" + component.getSlotName());
      boolean hasAccessToDeleteComponent = AccessRightController.getController().getIsPrincipalAuthorized(templateController.getDatabase(), principal, "ComponentEditor.DeleteComponent", "" + component.getContentId() + "_" + component.getSlotName());
      boolean hasAccessToChangeComponent = AccessRightController.getController().getIsPrincipalAuthorized(templateController.getDatabase(), principal, "ComponentEditor.ChangeComponent", "" + component.getContentId() + "_" + component.getSlotName());
      boolean hasSaveTemplateAccess = AccessRightController.getController().getIsPrincipalAuthorized(templateController.getDatabase(), principal, "StructureTool.SaveTemplate", "");
       
      boolean hasSubmitToPublishAccess = AccessRightController.getController().getIsPrincipalAuthorized(templateController.getDatabase(), principal, "ComponentEditor.SubmitToPublish", "");
        boolean hasPageStructureAccess = AccessRightController.getController().getIsPrincipalAuthorized(templateController.getDatabase(), principal, "ComponentEditor.PageStructure", "");
        boolean hasOpenInNewWindowAccess = AccessRightController.getController().getIsPrincipalAuthorized(templateController.getDatabase(), principal, "ComponentEditor.OpenInNewWindow", "");
        boolean hasViewSourceAccess = AccessRightController.getController().getIsPrincipalAuthorized(templateController.getDatabase(), principal, "ComponentEditor.ViewSource", "");

        String extraHeader   = FileHelper.getFileAsString(new File(CmsPropertyHandler.getContextRootPath() + (CmsPropertyHandler.getContextDiskPath().endsWith("/") ? "" : "/") + "preview/ajax/pageComponentEditorHeader.vm"), "iso-8859-1");
        //String extraBody   = FileHelper.getFileAsString(new File(CmsPropertyHandler.getContextRootPath() + (CmsPropertyHandler.getContextDiskPath().endsWith("/") ? "" : "/") + "preview/ajax/pageComponentEditorBody.vm"), "iso-8859-1");
        String extraBody   = "";
     
      boolean oldUseFullUrl = this.getTemplateController().getDeliveryContext().getUseFullUrl();
      this.getTemplateController().getDeliveryContext().setUseFullUrl(true);

      String parameters = "repositoryId=" + templateController.getSiteNode().getRepositoryId() + "&siteNodeId=" + templateController.getSiteNodeId() + "&languageId=" + templateController.getLanguageId() + "&contentId=" + templateController.getContentId() + "&componentId=" + this.getRequest().getParameter("activatedComponentId") + "&componentContentId=" + this.getRequest().getParameter("componentContentId") + "&showSimple=false&showLegend=false&originalUrl=" + URLEncoder.encode(this.getTemplateController().getCurrentPageUrl(), "UTF-8");
     
      String WYSIWYGEditorFile = "ckeditor/ckeditor.js";

      if(!CmsPropertyHandler.getPrefferedWYSIWYG().equals("ckeditor4"))
        WYSIWYGEditorFile = "FCKEditor/fckeditor.js";
     
      StringBuffer path = getPagePathAsCommaseparatedIds(templateController);
     
      extraHeader = extraHeader.replaceAll("\\$\\{focusElementId\\}", "" + this.getRequest().getParameter("focusElementId"));
      extraHeader = extraHeader.replaceAll("\\$\\{contextName\\}", this.getRequest().getContextPath());
      extraHeader = extraHeader.replaceAll("\\$\\{componentEditorUrl\\}", componentEditorUrl);
      if(principal.getName().equalsIgnoreCase(CmsPropertyHandler.getAnonymousUser()))
        extraHeader = extraHeader.replaceAll("\\$\\{limitedUserWarning\\}", "alert('Your session must have expired as you are now in decorated mode as " + principal.getName() + ". Please close browser and login again.');");
      else
        extraHeader = extraHeader.replaceAll("\\$\\{limitedUserWarning\\}", "");
      //extraHeader = extraHeader.replaceAll("\\$\\{currentUrl\\}", URLEncoder.encode(this.getTemplateController().getCurrentPageUrl(), "UTF-8"));
      extraHeader = extraHeader.replaceAll("\\$\\{currentUrl\\}", URLEncoder.encode(this.getTemplateController().getOriginalFullURL(), "UTF-8"));
      extraHeader = extraHeader.replaceAll("\\$\\{activatedComponentId\\}", "" + this.getRequest().getParameter("activatedComponentId"));
      extraHeader = extraHeader.replaceAll("\\$\\{componentContentId\\}", "" + this.getRequest().getParameter("componentContentId"));
      extraHeader = extraHeader.replaceAll("\\$\\{parameters\\}", parameters);
      extraHeader = extraHeader.replaceAll("\\$\\{siteNodeId\\}", "" + templateController.getSiteNodeId());
      extraHeader = extraHeader.replaceAll("\\$\\{languageId\\}", "" + templateController.getLanguageId());
      extraHeader = extraHeader.replaceAll("\\$\\{contentId\\}", "" + templateController.getContentId());
      extraHeader = extraHeader.replaceAll("\\$\\{metaInfoContentId\\}", "" + templateController.getMetaInformationContentId());
      extraHeader = extraHeader.replaceAll("\\$\\{parentSiteNodeId\\}", "" + templateController.getSiteNode().getParentSiteNodeId());
      extraHeader = extraHeader.replaceAll("\\$\\{repositoryId\\}", "" + templateController.getSiteNode().getRepositoryId());
      extraHeader = extraHeader.replaceAll("\\$\\{path\\}", "" + path.substring(1));
      extraHeader = extraHeader.replaceAll("\\$\\{userPrefferredLanguageCode\\}", "" + CmsPropertyHandler.getPreferredLanguageCode(principal.getName()));
      extraHeader = extraHeader.replaceAll("\\$\\{userPrefferredWYSIWYG\\}", "" + CmsPropertyHandler.getPrefferedWYSIWYG());
      extraHeader = extraHeader.replaceAll("\\$\\{WYSIWYGEditorJS\\}", WYSIWYGEditorFile);

      extraHeader = extraHeader.replaceAll("\\$\\{publishedLabel\\}", getLocalizedString(locale, "tool.contenttool.state.published"));

      StringBuffer skinCSS = new StringBuffer();

      String theme = CmsPropertyHandler.getTheme(principal.getName());
      if(!theme.equalsIgnoreCase("Default"))
      {
        skinCSS.append("<link rel=\"stylesheet\" type=\"text/css\" href=\"" + this.getRequest().getContextPath() + "/css/skins/" + theme + "/componentEditor.css\" />");
        String themeFileJQueryUI = CmsPropertyHandler.getThemeFile(theme, "jquery-ui.css");
        if(themeFileJQueryUI != null)
View Full Code Here

          }
        }
       
        List subComponents = getInheritedComponents(getDatabase(), templateController, component, templateController.getSiteNodeId(), id, inherit);

          InfoGluePrincipal principal = templateController.getPrincipal();
          String cmsUserName = (String)templateController.getHttpServletRequest().getSession().getAttribute("cmsUserName");
          if(cmsUserName != null && !CmsPropertyHandler.getAnonymousUser().equalsIgnoreCase(cmsUserName))
            principal = templateController.getPrincipal(cmsUserName);

        String clickToAddHTML = "";
View Full Code Here

   * This method creates the tabpanel for the component-palette.
   */
 
  private String getComponentPaletteDiv(Integer siteNodeId, Integer languageId, TemplateController templateController) throws Exception
  {   
    InfoGluePrincipal principal = templateController.getPrincipal();
      String cmsUserName = (String)templateController.getHttpServletRequest().getSession().getAttribute("cmsUserName");
      if(cmsUserName != null)
        principal = templateController.getPrincipal(cmsUserName);

    if(!templateController.getDeliveryContext().getShowSimple())
View Full Code Here

            DatabaseWrapper dbWrapperCached = new DatabaseWrapper(CastorDatabaseService.getDatabase());
            try
            {
              dbWrapperCached.getDatabase().begin();
             
              InfoGluePrincipal user = UserControllerProxy.getController(dbWrapperCached.getDatabase()).getUser(bean.getUserName());
              BasicTemplateController tc = new BasicTemplateController(dbWrapperCached, user);
              DeliveryContext deliveryContext = DeliveryContext.getDeliveryContext(false);
              tc.setDeliveryControllers(NodeDeliveryController.getNodeDeliveryController(null, deliveryContext.getLanguageId(), null, deliveryContext), null, null)
              tc.setDeliveryContext(deliveryContext);
 
              cachedMatchingContents = tc.getMatchingContents(bean.getContentTypeDefinitionNames(),
                     bean.getCategoryCondition(),
                     bean.getFreeText(),
                     bean.getFreeTextAttributeNamesList(),
                     bean.getFromDate(),
                     bean.getToDate(),
                     bean.getExpireFromDate(),
                     bean.getExpireToDate(),
                     bean.getVersionModifier(),
                     bean.getMaximumNumberOfItems(),
                     true,
                     true,
                     bean.getCacheInterval(),
                     bean.getCacheName(),
                     bean.getCacheKey(),
                     bean.getScheduleFetch(),
                     bean.getScheduleInterval(),
                     bean.getRepositoryIdsList(),
                     bean.getLanguageId(),
                     bean.getSkipLanguageCheck(),
                     bean.getStartNodeId(),
                     bean.getSortColumn(),
                     bean.getSortOrder(),
                     false,
                     bean.getValidateAccessRightsAsAnonymous(),
                     true,
                     true);

             
              //This part check the matching contents cache for directives to recache... it is a cache entry marking when the cache-refresh request was made
              if(bean.getContentTypeDefinitionNames() != null && !bean.getContentTypeDefinitionNames().equals(""))
              {
                String[] contentTypeDefinitionNames = bean.getContentTypeDefinitionNames().split(",");
                for(String contentTypeDefinitionName : contentTypeDefinitionNames)
                {
                  try
                  {
                    ContentTypeDefinitionVO contentTypeDefinitionVO = ContentTypeDefinitionController.getController().getContentTypeDefinitionVOWithName(contentTypeDefinitionName, dbWrapperCached.getDatabase());
                    if(contentTypeDefinitionVO != null)
                    {
                      logger.info("Do not throw page cache on this if it's not a content of type:" + contentTypeDefinitionVO.getName());
                        String recacheMark = (String)CacheController.getCachedObjectFromAdvancedCache("matchingContentsCache", "recacheAllMark");
                        logger.info("recacheMark:" + recacheMark);
                        if(recacheMark == null)
                          recacheMark = (String)CacheController.getCachedObjectFromAdvancedCache("matchingContentsCache", "recacheMark_" + contentTypeDefinitionVO.getId());
                       
                        logger.info("recacheMark:" + recacheMark);
                        if(recacheMark != null)
                        {
                          long markTime = Long.parseLong(recacheMark);
                          long diffMark = System.currentTimeMillis() - markTime;
                          logger.info("It was " + diffMark + " since the recache directive was added.");
                          logger.info("Bean was last fetched " + bean.getLastFetched() + ".");
                          if(diffMark > 30000)
                          {
                            logger.info("Deleting the mark..");
                            CacheController.clearCache("matchingContentsCache", "recacheMark_" + contentTypeDefinitionVO.getId());
                          }
                          else if(markTime > bean.getLastFetched())
                          {
                            logger.info("Forcing a recache as the mark was later than the last fetched.");
                            forceRecache = true;
                          }
                          else
                          {
                            logger.info("Doing nothing:" + markTime + "/" + bean.getLastFetched() + "/" + diffMark);
                          }
                        }
                      }
                  }
                  catch (Exception e)
                  {
                    logger.warn("Error reading content type: " + e.getMessage(), e);
                  }
                }
              }
              else
              {
                  String recacheMark = (String)CacheController.getCachedObjectFromAdvancedCache("matchingContentsCache", "recacheMark");
                  logger.info("recacheMark:" + recacheMark);
                  if(recacheMark != null)
                  {
                    long markTime = Long.getLong(recacheMark);
                    long diffMark = System.currentTimeMillis() - markTime;
                    logger.info("It was " + diffMark + " since the recache directive was added.");
                    logger.info("Bean was last fetched " + bean.getLastFetched() + ".");
                    if(diffMark > 3600000)
                    {
                      logger.info("Deleting the mark..");
                      CacheController.clearCache("matchingContentsCache", "recacheMark");
                    }
                    else if(markTime > bean.getLastFetched())
                    {
                      logger.info("Forcing a recache as the mark was later than the last fetched.");
                      forceRecache = true;
                    }
                    else
                    {
                      logger.info("Doing nothing:" + markTime + "/" + bean.getLastFetched() + "/" + diffMark);
                    }
                  }
              }
              //END TEST

              dbWrapperCached.getDatabase().rollback();
            }
            catch (Exception e)
            {
              removeQueueBean = true;
              dbWrapperCached.getDatabase().rollback();
              logger.error("Error in matching contents:" + e.getMessage(), e);
            }
            finally
            {
              dbWrapperCached.getDatabase().close();
            }
                       
            logger.info("diff:" + diff);
            logger.info("bean.getScheduleInterval()" + bean.getScheduleInterval());
            logger.info("Cached matches:" + (cachedMatchingContents == null ? "null" : cachedMatchingContents.size()));
            logger.info("removeQueueBean:" + removeQueueBean);

            logger.info("cachedMatchingContents:" + (cachedMatchingContents == null ? "null" : cachedMatchingContents.size()));

            if(!removeQueueBean && (diff > bean.getScheduleInterval() || cachedMatchingContents == null || forceRecache)) //|| cachedMatchingContents.size() == 0
            {
              logger.info("Running match either because the time was now or because no cached result was found or there was a recache directive in the cache");
              logger.info("forceRecache:" + forceRecache);
              logger.info("removeQueueBean:" + removeQueueBean);
              logger.info("diff:" + diff);
              logger.info("bean.getScheduleInterval():" + bean.getScheduleInterval());
               
              DatabaseWrapper dbWrapper = new DatabaseWrapper(CastorDatabaseService.getDatabase());
              try
              {
                dbWrapper.getDatabase().begin();
               
                InfoGluePrincipal user = UserControllerProxy.getController(dbWrapper.getDatabase()).getUser(bean.getUserName());
                BasicTemplateController tc = new BasicTemplateController(dbWrapper, user);
                DeliveryContext deliveryContext = DeliveryContext.getDeliveryContext(false);
                tc.setDeliveryControllers(NodeDeliveryController.getNodeDeliveryController(null, deliveryContext.getLanguageId(), null, deliveryContext), null, null)
                tc.setDeliveryContext(deliveryContext);
               
View Full Code Here

TOP

Related Classes of org.infoglue.cms.security.InfoGluePrincipal

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.