gpt4 book ai didi

java - 将 CAS 集成到 Java 动态 Web 项目中

转载 作者:行者123 更新时间:2023-11-28 23:23:49 24 4
gpt4 key购买 nike

设置


在 Tomcat (ROOT) 中部署的“Hello World”servlet

(1) 这在没有 CAS 的情况下工作,我可以通过以下 URL 访问我的应用程序:

  • http://localhost:8090/你好
  • https://localhost:8443/你好

(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 登录名,它会在成功时重定向回我的应用程序。

最佳答案

如果我对你的问题的理解是正确的,那么你正在尝试对你的 hello web 应用程序进行 casify

我相信,要对您的应用程序进行 casify,它需要在安全端口上运行。

话虽如此,您将对以下服务 URL 进行分类,https://localhost:8443/hello

您能否尝试将 web.xml 条目(CAS 相关)添加到您的 hello 应用程序的 web.xml 而不是 tomcat 的 ROOT web.xml?

关于java - 将 CAS 集成到 Java 动态 Web 项目中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39606570/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com