0

我正在从事一个项目,我必须将 CAS 身份验证集成到 Apache Wicket 应用程序中。虽然我仍然是 Web 开发的初学者,但我知道如何在简单的 Web 应用程序中实现 CAS 身份验证(使用 Spring-security),我在其中定义了一个需要身份验证的目录/文件,然后用户才能访问它们。以下是我创建并测试的示例 CAS 应用程序结构。在下面的示例中,访问“安全”目录中的文件需要身份验证。

我现有的 CAS 应用程序

applicationContext-security.xml 的内容如下。

    <security:http entry-point-ref="casAuthenticationEntryPoint" auto-config="true">
    <security:intercept-url pattern="/secure/**" access="ROLE_AUTHENTICATED"></security:intercept-url>
    <security:custom-filter position="CAS_FILTER" ref="casAuthenticationFilter"></security:custom-filter>
</security:http>

但是如果我必须保护 apache wicket 应用程序中的文件,我该怎么做呢?我想通过显示“edu.vt.geoserver.HomePage.html”而不进行身份验证来启动我的应用程序,并设置身份验证要求以访问“edu.vt.geoserver.securePages”中的文件。请参阅我的目标应用程序的附加结构。

我想要 CAS 身份验证的目标检票口应用程序

让我知道是否有人可以在这方面帮助我。我已经看到 Jasig 的非官方 cas-client 用于检票口应用程序,但仍然不确定我需要做哪些更改。非常感谢这方面的任何帮助。

谢谢

萨钦

4

1 回答 1

1

如果其他一切设置正确,您可能只需将安全页面安装到 Application 类的 init 方法中的正确 URL,如下所示:

mountPage("/secure/GeoServerFrontPage", edu.vt.geoserver.securePages.GeoServerFrontPage.class);

由于您的 Spring Security 配置为保护 URL 模式“/secure/**”中的所有页面,因此调用 GeoServerFrontPage 应该会触发登录。

您还可以查看 mountPackage() 方法,以使用一行代码安装您的securePages-Package 中的所有页面...。

问候,汤姆

于 2013-05-16T07:05:51.210 回答