我有两个webapp集成了A和B与Cas。当我尝试访问webapp A的受保护区域时,过滤器会将我重定向到cas login。登录后我回到了webapp A,一切运行良好。当我从webapp A导航到webapp B的保护区域时,cas过滤器再次重定向到登录表单。 我已经在tomcat 6.0.37上尝试过这个应用程序,所有工作正常,没有其他登录请求。
关于Jboss中的日志,我看到了一个截断的TGT。我第一次登录cas时写道:
09 nov 2013 11:14:40,533 DEBUG [org.jasig.cas.ticket.registry.DefaultTicketRegistry] Added ticket [TGT-1-KYSi1x1t1MlcefajmccwatceNEqMprKj7j5ZpVDJwtJOf5OSgA-http://localhost:8000] to registry. 09 nov 2013 11:14:40,533 INFO [com.github.inspektr.audit.support.Slf4jLoggingAuditTrailManager] Audit trail record BEGIN ============================================================= WHO: [username: myuser] WHAT: TGT-1-KYSi1x1t1MlcefajmccwatceNEqMprKj7j5ZpVDJwtJOf5OSgA-http://localhost:8000 ACTION: TICKET_GRANTING_TICKET_CREATED APPLICATION: CAS WHEN: Sat Nov 09 11:14:40 CET 2013 CLIENT IP ADDRESS: 127.0.0.1 SERVER IP ADDRESS: 127.0.0.1 =============================================================
当我从app A转到app B时,日志是:
09 nov 2013 11:14:54,339 DEBUG [org.jasig.cas.ticket.registry.DefaultTicketRegistry] Attempting to retrieve ticket [TGT-1-KYSi1x1t1MlcefajmccwatceNEqMprKj7j5ZpVDJwtJOf5OSgA-http] 09 nov 2013 11:14:54,340 INFO [com.github.inspektr.audit.support.Slf4jLoggingAuditTrailManager] Audit trail record BEGIN ============================================================= WHO: audit:unknown WHAT: http://localhost:8000/webappB/desktop.iface ACTION: SERVICE_TICKET_NOT_CREATED APPLICATION: CAS WHEN: Sat Nov 09 11:14:54 CET 2013 CLIENT IP ADDRESS: 127.0.0.1 SERVER IP ADDRESS: 127.0.0.1 =============================================================
如您所见,cas生成TGT:
TGT-1-KYSi1x1t1MlcefajmccwatceNEqMprKj7j5ZpVDJwtJOf5OSgA-http://localhost:8000
并尝试检索:
TGT-1-KYSi1x1t1MlcefajmccwatceNEqMprKj7j5ZpVDJwtJOf5OSgA-http
我找到一种解决方法,使用$ {host.name}将bean DefaultUniqueTicketIdGenerator的value属性更改为不带字符':'和'/'的字符串。
我不会更改cas配置,因为它被许多应用程序使用并部署在不同的环境中。 为什么在Jboss中的cas不像tomcat那样工作? 我错过了一些配置吗?
答案 0 :(得分:1)
host.name
属性通常仅用于生成票证,并且不要求它实际上是主机名。它仅用于确保票证是唯一的,特别是在群集CAS环境中。
尝试删除host.name
的协议和端口组件,因为它看起来在回程中没有正确处理冒号。
您可以在https://wiki.jasig.org/display/CASUM/Clustering+CAS的CAS手册中查看它。