Comments inline below.

David Sean Taylor wrote:

Still not quite working. No errors though so at least that's alright.

What I've done:

Compiled the RoleCheckValve (after adding some logging) into a jar and put the jar in tomcat shared/lib (all jetspeed dependencies are already there jetspeed-api, jetspeed-portal and jetspeed-security) .

Thats wrong. The jetspeed-portal.war and jetspeed-security.war should not be in shared/lib as they are also in the jetspeed war itself, having them in two places can cause unexpected behavior
Recommend placing all these files in ${JETSPEED_HOME}/WEB-INF/lib/
Ok, removed jetspeed-portal.jar and jetspeed-security.jar from shared lib. Added the RoleCheckValve jar to {Jetspeed_home}/WEB-INF/lib

Set all org.apache.jetspeed   packages to debug level.

Still no joy.

Some logging:


At startup:
----------------------------------------------------------
2008-10-16 15:41:02,822 [main] INFO org.springframework.web.context.support.XmlWebApplicationContext - Bean factory for application context [EMAIL PROTECTED]: [EMAIL PROTECTED] 2008-10-16 15:41:03,557 [main] INFO org.springframework.beans.factory.config.PropertyPlaceholderConfigurer - Loading properties file from URL [file:/C:/nce/webapps/nce/WEB-INF/conf/jetspeed.properties] 2008-10-16 15:41:03,557 [main] INFO org.springframework.beans.factory.config.PropertyPlaceholderConfigurer - Loading properties file from URL [file:/C:/nce/webapps/nce/WEB-INF/conf/override.properties] 2008-10-16 15:41:03,588 [main] INFO org.springframework.beans.factory.support.DefaultListableBeanFactory - Pre-instantiating singletons in [EMAIL PROTECTED]: defining beans [roleCheckValve,localizationValve,capabilityValve,portalURLValve,securityValve,passwordCredentialValve,loginValidationValve,profilerValve,createPageValve,createUserTemplatePagesValve,containerValve,actionValve,desktopActionValve,desktopEncoderRedirectValve,portletValve,portletValveTitleInHeader,fileServerValve,aggregatorValve,headerAggregatorValvePortal,headerAggregatorValveDesktop,cleanUpValve,AJAXValve,DecorationValve,loginViewValve,desktopValve,resourceValve,jetspeed-pipeline,configure-pipeline,login-pipeline,action-pipeline,desktop-action-pipeline,desktop-render-pipeline,portlet-pipeline,ajax-pipeline,ajax-direct-pipeline,fileserver-pipeline,desktop-pipeline,dtconfigure-pipeline,pipeline-map,debugValve,transactionManager,baseTransactionProxy,portal_configuration,PortalConfiguration,javax.servlet.ServletConfig,TemplateLocator,DecorationLocator,Powertools,IdGenerator,PageFileCache,org.apache.jetspeed.request.RequestContextComponent,PortletWindowAccessor,Pluto,DesktopPluto,org.apache.pluto.PortletContainer,org.apache.pluto.DesktopPortletContainer,placeholderConfig,org.apache.jetspeed.headerresource.HeaderResourceFactory,org.apache.jetspeed.container.session.PortalSessionsManager,PortalStatistics,org.apache.jetspeed.audit.AuditActivity,PortletActionSecurityBehavior,RolesSecurityBehavior,AjaxMove,AjaxMovePortletAbsolute,AjaxMovePortletLeft,AjaxMovePortletRight,AjaxMovePortletUp,AjaxMovePortletDown,AjaxAddPortlet,AjaxRemovePortlet,AjaxGetPortlets,AjaxGetPage,AjaxGetPages,AjaxGetFolder,AjaxGetLink,AjaxGetFolderList,AjaxGetFoldersList,AjaxGetThemes,AjaxChangeWindow,AjaxGetActions,AjaxGetMenus,AjaxGetMenu,AjaxSecurityPermissions,AjaxSecurityConstraints,AjaxUpdateFolder,AjaxUpdatePage,AjaxUpdateLink,AjaxGetUserInformation,AjaxGetUserList,AjaxExportObject,AjaxActionMap,AjaxRequestService,AjaxVelocityEngine,layoutValve,org.apache.jetspeed.search.HandlerFactory,org.apache.jetspeed.search.SearchEngine,AjaxMultipleAction,org.apache.jetspeed.security.UserManager,org.apache.jetspeed.security.GroupManager,org.apache.jetspeed.security.RoleManager,org.apache.jetspeed.security.impl.PermissionManagerImpl,org.apache.jetspeed.security.PermissionManager,NavigationalStateCodec,NavigationalState,PortalURL,DesktopPortalURL,NavigationalStateComponent,profilerImpl,org.apache.jetspeed.profiler.Profiler,ProfileResolvers,StandardResolver,SessionResolver,RequestSessionResolver,PathResolver,PathSessionResolver,HardCodedResolver,UserCriterionResolver,RoleCriterionResolver,RoleComboCriterionResolver,GroupCriterionResolver,MediatypeCriterionResolver,LanguageCriterionResolver,CountryCriterionResolver,GroupRoleUserCriterionResolver,UserAttributeResolver,NavigationCriterionResolver,UserAgentCriterionResolver,IPCriterionResolver,HostnameCriterionResolver,DomainCriterionResolver,StandardProfilingRule,RoleFallbackProfilingRule,ProfileLocator,PrincipalRule,RuleCriterion,ResourceValidator,DecorationFactory,org.apache.jetspeed.tools.pamanager.servletcontainer.ApplicationServerManager,deployFactory,PAM,portletAppDeploymentListener,decoratorDeploymentRegistry,decoratorDeploymentListener,deploymentManager,AJAXService,mailSender,adminVelocityEngine,PortalAdministrationImpl,PortalAdministration,org.apache.jetspeed.security.SecurityAccessController,org.apache.jetspeed.administration.PortalAuthenticationConfiguration,org.apache.jetspeed.security.activeauthentication.ActiveAuthenticationIdentityProvider,cacheManager,ehPortletContentCache,ContentCacheKeyGenerator,portletContentCache,ehDecorationContentCache,decorationContentCache,ehPreferencesCache,preferencesCache,ehPortletApplicationOidCache,ehPortletApplicationNameCache,portletApplicationOidCache,portletApplicationNameCache,ehPortletDefinitionOidCache,ehPortletDefinitionNameCache,portletDefinitionOidCache,portletDefinitionNameCache,ehActiveAuthenticationCache,activeAuthenticationCache,PersistenceBrokerSSOProvider,org.apache.jetspeed.sso.SSOProvider,PortalServices,org.apache.jetspeed.security.spi.impl.SecurityAccessImpl,org.apache.jetspeed.security.spi.SecurityAccess,org.apache.jetspeed.security.AuthenticationProvider,org.apache.jetspeed.security.AuthenticationProviderProxy,org.apache.jetspeed.security.SecurityProvider,org.apache.jetspeed.security.AuthorizationProvider,org.apache.jetspeed.security.LoginModuleProxy,org.apache.jetspeed.security.spi.RoleSecurityHandler,org.apache.jetspeed.security.spi.GroupSecurityHandler,org.apache.jetspeed.security.spi.SecurityMappingHandler,ImportPsmlDocumentHandler,ImportLinkDocumentHandler,ImportFolderMetaDataDocumentHandler,ImportPageSecurityDocumentHandler,ImportDocumentHandlerFactory,ImportFolderHandler,org.apache.jetspeed.page.CastorPageManager,ImportPageFileCache,ImportIdGenerator,portletFactory,portletRegistryImpl,org.apache.jetspeed.components.portletregistry.PortletRegistry,portletEntityAccessImpl,org.apache.jetspeed.components.portletentity.PortletEntityAccessComponent,injectEntityAccessProxy,org.apache.jetspeed.userinfo.UserInfoManager,org.apache.jetspeed.security.impl.RdbmsPolicy,HeaderResourceConfigurationDesktop,DesktopConfiguration,DojoConfigurationDesktop,DojoRequiresDesktop,DojoRequiresModulesDesktop,HeaderResourceConfigurationPortal,DojoConfigurationPortal,HeaderResourceRegistry,HeaderTypes,ProductionConfiguration,JetspeedNamespaceMapper,LocalPortletInvokerFactory,ServletPortletInvokerFactory,javax.portlet.ActionRequest,javax.portlet.RenderRequest,javax.portlet.RenderResponse,javax.portlet.PortletSession,javax.portlet.PortletConfig,javax.portlet.PortletContext,javax.portlet.PortalContext,javax.portlet.ActionResponse,javax.portlet.PortletURL,javax.portlet.PortletPreferences,org.apache.pluto.invoker.PortletInvoker,org.apache.pluto.util.NamespaceMapper,StaticInformationProvider,org.apache.pluto.services.information.InformationProviderService,ServletRequestFactory,ServletResponseFactory,org.apache.pluto.om.ControllerFactory,org.apache.pluto.services.log.LogService,org.apache.pluto.services.title.DynamicTitleService,PsmlDocumentHandler,LinkDocumentHandler,FolderMetaDataDocumentHandler,PageSecurityDocumentHandler,DocumentHandlerFactory,FolderHandler,org.apache.jetspeed.page.PageManager,org.apache.jetspeed.portalsite.PortalSite,PreferencesProviderImpl,org.apache.jetspeed.prefs.PreferencesProvider,java.util.prefs.PreferencesFactory,org.apache.jetspeed.security.spi.CredentialPasswordValidator,org.apache.jetspeed.security.spi.CredentialPasswordEncoder,org.apache.jetspeed.security.spi.PasswordCredentialProvider,org.apache.jetspeed.security.spi.InternalPasswordCredentialInterceptor,org.apache.jetspeed.security.spi.CredentialHandler,org.apache.jetspeed.security.spi.UserSecurityHandlerImpl,org.apache.jetspeed.security.spi.UserSecurityHandler,capabilitiesImpl,org.apache.jetspeed.capabilities.Capabilities,Client,MediaType,MimeType,Capability,JetspeedDesktop,org.apache.jetspeed.cluster.NodeManager,NodeInformation,org.apache.jetspeed.aggregator.PortletTrackingManager,org.apache.jetspeed.aggregator.PortletAggregator,org.apache.jetspeed.aggregator.PortletAggregatorTitleInHeader,org.apache.jetspeed.aggregator.PortletRenderer,org.apache.jetspeed.aggregator.PortletRendererWithTitleHeader,org.apache.jetspeed.aggregator.PageAggregator,org.apache.jetspeed.aggregator.AsyncPageAggregator,org.apache.jetspeed.aggregator.WorkerMonitor,HeaderAggregatorPortal,HeaderAggregatorDesktop,RequestContextObjects,com.artifact_software.services.valves.BannerSelectorValve]; parent: [EMAIL PROTECTED] 2008-10-16 15:41:03,592 [main] DEBUG org.apache.jetspeed.security.impl.RoleCheckValve - instantiating RoleCheckValve with arg roleToCheck=unconsented

----------------------------------------------------------

Runtime when user login is attempted:
----------------------------------------------------------
2008-10-16 15:41:55,888 [http-8080-Processor25] DEBUG org.apache.jetspeed.capabilities.impl.CapabilityValveImpl - MediaType: html 2008-10-16 15:41:55,897 [http-8080-Processor25] DEBUG org.apache.jetspeed.capabilities.impl.CapabilityValveImpl - Encoding: UTF-8 2008-10-16 15:41:55,903 [http-8080-Processor25] DEBUG org.apache.jetspeed.capabilities.impl.CapabilityValveImpl - Mimetype: text/html 2008-10-16 15:41:56,170 [http-8080-Processor21] DEBUG org.apache.jetspeed.security.impl.UserManagerImpl - Authenticated user: nsd100000 2008-10-16 15:41:56,588 [http-8080-Processor20] DEBUG org.apache.jetspeed.capabilities.impl.CapabilityValveImpl - MediaType: html 2008-10-16 15:41:56,594 [http-8080-Processor20] DEBUG org.apache.jetspeed.capabilities.impl.CapabilityValveImpl - Encoding: UTF-8 2008-10-16 15:41:56,599 [http-8080-Processor20] DEBUG org.apache.jetspeed.capabilities.impl.CapabilityValveImpl - Mimetype: text/html 2008-10-16 15:41:56,641 [http-8080-Processor20] DEBUG org.apache.jetspeed.localization.impl.LocalizationValveImpl - Got user principal: nsd100000 2008-10-16 15:41:56,696 [http-8080-Processor20] DEBUG org.apache.jetspeed.portalsite.impl.PortalSiteSessionContextImpl - Updated user/locators context: user=nsd100000, profileLocators=(page=/:role:unconsented:role:salesperson:role:student:role:user:page:default-page)

2008-10-16 15:41:56,736 [http-8080-Processor20] DEBUG org.apache.jetspeed.portalsite.impl.PortalSiteSessionContextImpl - Created site view: search paths=/_role/user,/ 2008-10-16 15:41:56,741 [http-8080-Processor20] DEBUG org.apache.jetspeed.portalsite.impl.PortalSiteSessionContextImpl - Request page: request path=/ 2008-10-16 15:41:56,767 [http-8080-Processor20] DEBUG org.apache.jetspeed.portalsite.impl.PortalSiteSessionContextImpl - Selected folder default page: path=/_role/user/default-page.psml


I would expect to see some logging if the ROleCheckValve was getting invoked between the LocalizatonValve and the "Created Site View".

Using the j2-admin profiler I added the profiling rule (as described in your post to add to j2-seed) with
Td: roleCheckRedirectRule "
Title" (the field should probably say "desscription") :redirect on Role Check existance) Rule class: org.apache.jetspeed.profiler.rules.impl.StandardProfilingRule (following the example of the security rule)
Criteria:
Name: page
value:/unconsented.html
Resolver Type: hard.coded

used the j2-admin user management portlet to give the role to a user.

Added the valve definition bean to pipelines.xml in jetspeed/WEB-INF/assembly

added the reference to the bean in between the localizationValve and passwordCredentialValve in the JetspeedPilpeline as well as in between the localizationValve and the loginValidationValve in the ConfigurePipeline AND, finally between the localizationValve and the loginViewValve in the LoginPipeline.

When I start up tomcat I see the bean get instantiated in my logs, but when I login the test user with the role, I never see the invoke method get called.

Sounds like it should work. Recommend taking it through the debugger and seeing where it fails in your valve


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to