如何将CAS身份验证与Apache wicket应用程序集成?

时间:2013-05-15 20:23:20

标签: java wicket cas

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

My existing CAS appication

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”中的文件。请参阅我的目标应用程序的附加结构。

Target wicket application where I would like CAS authentication

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

由于

萨钦

1 个答案:

答案 0 :(得分:1)

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

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

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

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

此致 汤姆