2013-05-15 74 views
0

我正在開發一個項目,我必須將CAS認證集成到Apache Wicket應用程序中。儘管我仍然是網絡開發的初學者,但我知道如何將CAS認證應用到簡單的Web應用程序(使用Spring-security),在那裏我定義了一個需要認證的目錄/文件,然後用戶才能訪問它們。以下是示例CAS應用程序結構,我已經創建和測試。在下面的例子中,訪問「安全」目錄中的文件需要認證。如何使用Apache wicket應用程序進行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的非官方cas-client的wicket應用程序,但仍然不確定我需要做什麼改變。任何在這方面的幫助,高度讚賞。

感謝

薩欽

回答

1

如果其他一切都設置正確,你可能只需要安裝你的安全頁面的正確的URL在你的應用程序類的這樣的init方法:

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

由於您的Spring Security配置爲保護URL模式「/ secure/**」中的所有頁面,因此調用GeoServerFrontPage應該觸發登錄。

你也可以看看mountPackage()方法,用一行代碼將所有頁面安裝到你的securePages-Package中。

問候, 湯姆

+0

謝謝湯姆,我會盡量讓你知道,如果我在獲得在web-app運行成功。 – Sachin

+0

你有沒有得到它的工作?有關使用Wicket的Spring Security的工作示例,可以查看https://github.com/thombergs/wicket-spring-security-example。 – Tom

+0

謝謝湯姆,我明白了。這很容易解決。我感謝您的幫助。 – Sachin