我正在使用Jasig CAS SSO authority和JAAS配置JBoss AS6。通过wiki tutorial的JBoss CAS和JAAS配置,我相应地更改了/opt/jboss-6.0.0.Final/server/all/conf/login-config.xml
<application-policy name="myRealm">
<authentication>
<login-module code="org.jasig.cas.client.jaas.CasLoginModule" flag="required">
<module-option name="ticketValidatorClass">org.jasig.cas.client.validation.Cas10TicketValidationFilter</module-option>
<module-option name="casServerUrlPrefix">https://cas.domain.com:8443/</module-option>
<module-option name="defaultRoles">MYROLE</module-option>
<module-option name="roleAttributeNames">memberOf,eduPersonAffiliation,authorities</module-option>
<module-option name="principalGroupName">CallerPrincipal</module-option>
<module-option name="roleGroupName">Roles</module-option>
<module-option name="cacheAssertions">true</module-option>
<module-option name="cacheTimeout">480</module-option>
<module-option name="cacheAssertions">true</module-option>
</login-module>
</authentication>
</application-policy>
我也改变了jboss-web.xml
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<security-domain>java:/jaas/myRealm</security-domain>
<context-root/>
</jboss-web>
通过远程调试应用程序我发现它落到JBossWebRealm
而不是org.jasig.cas.client.jaas.CasLoginModule
类,所以看起来我忘了一些配置。
我的目标是通过CAS SSO授权对用户进行授权和身份验证,并在Web应用程序中使用JAAS。