设置
A" Hello World"部署在Tomcat(ROOT)中的servlet
(1)这在没有CAS的情况下工作,我可以通过以下URL访问我的应用程序:
(2)我在Tomcat ROOT的web.xml中插入了以下内容:
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>org.leo.Hello</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
<!-- Authentication filter -->
<filter>
<filter-name>CAS Authentication Filter</filter-name>
<filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
<init-param>
<param-name>casServerLoginUrl</param-name>
<param-value>https://localhost:8443/cas/login</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>
<param-value>https://localhost:8443</param-value>
</init-param>
</filter>
<!-- Ticket validation filter -->
<filter>
<filter-name>CAS Validation Filter</filter-name>
<filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>
<init-param>
<param-name>casServerUrlPrefix</param-name>
<param-value>https://localhost:8443/cas</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>
<param-value>https://localhost:8443</param-value>
</init-param>
</filter>
<!-- HTTP servlet request wrapper filter -->
<filter>
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
<filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
</filter>
<!-- Assertion thread local filter -->
<filter>
<filter-name>CAS Assertion Thread Local Filter</filter-name>
<filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CAS Authentication Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CAS Validation Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CAS Assertion Thread Local Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
(3)CAS服务器也部署在Tomcat中
问题
完成所有这些编辑后,我通过HTTP和HTTPS获得了404。我在这做错了什么?
我需要将我的应用程序重定向到CAS登录名,该登录名会在成功时重定向回我的应用程序。
答案 0 :(得分:0)
如果我理解您的问题,那么您正试图加入您的问候语Web应用程序
我相信,为了让您的应用程序更新,它需要在安全端口上运行。
话虽如此,您将获得以下服务网址https://localhost:8443/hello
您是否可以尝试将web.xml条目(CAS相关)添加到hello应用程序的web.xml而不是tomcat的ROOT web.xml中?
答案 1 :(得分:0)
(1)我更改了Tomcat ROOT的web.xml,因为我的应用程序的类被复制到ROOT文件夹中并从那里部署。
(2)我在检查Tomcat和CAS服务器的日志时遇到了这个问题。许多日志记录(和其他一些)库都不存在。我列出了所有这些,因为我不记得确切的补充:
(3)我并不声称对此具体事项有所了解,但可以通过在以下文件中将“HTTP”添加到“serverId”属性来确定HTTP URL: 〜/ [CAS SERVER DEPLOYMENT DIRECTORY] / WEB-INF / classes / services / HTTPSandIMAPS- [SOME NUMBER] .json