[jboss-user] [Security & JAAS/JBoss] - JaasAuthenticationProvider and AuthorityGranter
dlarosa11
do-not-reply at jboss.com
Tue May 13 13:09:23 EDT 2008
I'm trying to get JasperServer to run in JBoss using my JAAS implementation. I can get the authentication to work, but I'm having a problem with the AuthorityGranter bean in my applicationContext-security.xml file.
Here's the error that I get when JBoss tries to load my JasperServer.war file:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ptiJaasAuthenticationProvider' defined in ServletContext resource [/WEB-INF/applicationContext-security.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
| PropertyAccessException 1: org.springframework.beans.TypeMismatchException: Failed to convert property value of type [java.util.ArrayList] to required type [org.acegisecurity.providers.jaas.AuthorityGranter[]] for property 'authorityGranters'; nested exception is java.lang.IllegalArgumentException: Cannot convert value of type [com.perimeter.authentication.PtiAuthorityGranter] to required type [org.acegisecurity.providers.jaas.AuthorityGranter] for property 'authorityGranters[0]': no matching editors or conversion strategy found
|
| Caused by:
|
| org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessException details (1) are:
|
| PropertyAccessException 1:
|
| org.springframework.beans.TypeMismatchException: Failed to convert property value of type [java.util.ArrayList] to required type [org.acegisecurity.providers.jaas.AuthorityGranter[]] for property 'authorityGranters'; nested exception is java.lang.IllegalArgumentException: Cannot convert value of type [com.perimeter.authentication.PtiAuthorityGranter] to required type [org.acegisecurity.providers.jaas.AuthorityGranter] for property 'authorityGranters[0]': no matching editors or conversion strategy found
|
| Caused by:
|
| java.lang.IllegalArgumentException: Cannot convert value of type [com.perimeter.authentication.PtiAuthorityGranter] to required type [org.acegisecurity.providers.jaas.AuthorityGranter] for property 'authorityGranters[0]': no matching editors or conversion strategy found
|
| at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:224)
|
| at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:124)
|
| at org.springframework.beans.TypeConverterDelegate.convertToTypedArray(TypeConverterDelegate.java:282)
|
| at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:197)
|
| at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate
My AuthorityGranter class is as follows:
public class PtiAuthorityGranter implements org.acegisecurity.providers.jaas.AuthorityGranter
| {
| public Set grant(Principal principal)
| {
| Set rtnSet = new HashSet();
|
| // just add administrator right off the bat for now
| // TODO: check database for permissions and add appropriate ones
| rtnSet.add("ROLE_ADMINISTRATOR");
|
| // if (principal.getName().equals("TEST_PRINCIPAL")) {
| // rtnSet.add("ROLE_TEST1");
| // rtnSet.add("ROLE_TEST2");
| // }
|
| return rtnSet;
| }
| }
Here's the snippet from applicationContext-security.xml:
| <bean id="authenticationManager" class="org.acegisecurity.providers.ProviderManager">
| <property name="providers">
| <list>
| <!-- here is the list of authentication mechanisms -->
| <ref local="ptiJaasAuthenticationProvider"/>
| </list>
| </property>
| </bean>
|
| <bean id="ptiJaasAuthenticationProvider" class="org.acegisecurity.providers.jaas.JaasAuthenticationProvider">
|
| <!-- TODO: we don't actually want to look here,
| we should look in server/default/conf/login-conf.xml for jboss -->
| <property name="loginConfig">
| <value>/WEB-INF/login.conf</value>
| </property>
|
| <property name="loginContextName">
| <value>RealtimeAppDb</value>
| </property>
|
| <property name="callbackHandlers">
| <list>
| <bean class="org.acegisecurity.providers.jaas.JaasNameCallbackHandler"/>
| <bean class="org.acegisecurity.providers.jaas.JaasPasswordCallbackHandler"/>
| </list>
| </property>
|
| <property name="authorityGranters">
| <list>
| <bean class="com.perimeter.authentication.PtiAuthorityGranter"/>
| </list>
| </property>
| </bean>
|
Any help, of course, is greatly appreciated.
Domenic
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4150472#4150472
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4150472
More information about the jboss-user
mailing list