Trying to wrap my head around Jackrabbit authentication following
my failure to set up JAAS login. What I want to do is to have
the spring-modules-jcr JcrTemplate to get a session which is
NOT authenticated with a fixed username/password provided in
the Spring application context:

<bean id="jcrSessionFactory" class="org.springmodules.jcr.JcrSessionFactory">
        <property name="repository" ref="repository"/>
        <property name="credentials">
                <bean class="javax.jcr.SimpleCredentials">
                        <constructor-arg index="0" value="${repository.user}"/>
                        <constructor-arg index="1">
                                <bean factory-bean="password" 
factory-method="toCharArray"/>
                        </constructor-arg>
                </bean>
        </property>
</bean>

<bean id="password" class="java.lang.String">
        <constructor-arg index="0" value="${repository.password}"/>
</bean>

I want to use the credentials of the user currently logged
in to the container. I assume that I cannot get hold of
these in the Spring declarations. If I don't include the
credentials property of the jcrSessionfactory bean and use
SimpleLoginModule, I get an anonymous login. When I try
a JAAS LoginModule from Jetty I get UnsupportedCallbackException
and it doesn't feel quite right anyway: if I have security-constraint
in web.xml around the entire webapp, the use is already logged
in when the Jackrabbit session is created. What I really
want is the logged in user's credentials to be passed on
to Jackrabbit.

Do I have to write my own LoginModule for that or is there
a ready way to do this?

--
mogul | nils weinander |
hudiksvallsgatan 4 113 30 stockholm sweden |
+46 8 4100 6456 | +46 709 78 28 37 |
[email protected] | skype: nils.weinander |
www.mogul.com

Reply via email to