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]