Showing posts with label Apache Wicket. Show all posts
Showing posts with label Apache Wicket. Show all posts

Saturday, July 14, 2012

使用openid4java實作Open ID RP (2)

本文接續上一篇,主要在實作程式碼的部份。

首先使用NetBeans建立一個新的Apache Wicket專案,並命名為myrp。依據原文所寫,作者將Web Application中負責和Open ID OP進行通訊的相關功能,放在model的套件中,其中分為兩個項目:

Friday, July 13, 2012

使用openid4java實作Open ID RP (1)

本文的原始出處是IBM技術文章!

為了要實作OpenID Provider的Java Web Application,我認為要先了解如何在Java Web Application中先實作Open ID RP,以了解Open ID的運作方式。

在OpenID的官網中,針對Java有提供了許多函式庫可以讓我們來使用,在原始文件中是使用openid4java的函式庫,目前可以取得的版本為0.9.6。

另外,為了要試驗Apache Wicket此framework的功能,我也改用Apache Wicket 1.5.3的版本,它和原始文章所使用的版本(1.3.3),在實作上有一些差異!

還有,本文主要說明概念的部份,實作則在下一篇。

Tuesday, June 12, 2012

Apache Wicket Auth/Roles -- 系列文章

花了一些時間將Apache Wicket Auth/Roles專案對於驗證及授權的機制加以實作(以Wicket Example上的範例稍加修改)後,總算對於它的運作有了基礎的了解,為了方便看文,所以在這裡做了一個連結的文章,以後若有新增相關的文章,也會一併在此更新。

Apache Wicket Auth/Roles 簡介 -- Authorization (3)

本文同樣延續上一篇的範例,本文會再新增兩個頁面,這些頁面會視使用者的角色而呈現出不同的內容。也可以說,頁面的內容可以自訂允許哪些角色看到什麼內容。

新增的兩個頁面分別是AdminPanelPage.html(使用meta data授權)及AdminAnnotationPanelPage.html(使用annotation授權)。

因此,在HomePage.html也要新增兩個超連結。

Monday, June 11, 2012

Apache Wicket Auth/Roles 簡介 -- Authorization (2)

本文將延續前一篇的範例,將它的授權(authorization)應用到網頁中的某個元件,例如只有ADMIN才能看到某個Panel,其餘的使用者則無法看到!

在本文中我們會在網站中新增兩個頁面,這兩個頁面均是內部頁面(意即非bookmarkable),只是其中之一使用meta data進行授權,而另一頁則使用annotation授權。

所以,在首頁(HomePage.html)的地方,我們新增了兩個超連結,其中一個是AdminInternalPage.html(使用meta data授權);另一個是AdminInternalAnnotationPage.html(使用annotation授權):

Thursday, June 7, 2012

Apache Wicket Auth/Roles 簡介 -- Authorization (1)


本文是接續前三篇文章(一、二、三)而來的,主要在介紹如果使用Auth/Roles進行元件授權(authorization)的動作。

-- Authorization --



在Apache Wicket的Auth/Roles專案中,在身份認證(authentication)完成後必須要針對各項元件進行授權(authorization)的動作,以避免不具權限的使用者進入了受限的頁面。

Wednesday, June 6, 2012

Apache Wicket Auth/Roles 簡介 -- Authentication (3)

本篇文章是更為進階的身份驗證範例,使用Annotation來進行頁面的權限設定,因為如果使用前二篇文章(一、二)中的範例來設定頁面的存取權限,維護各頁面權限的工作會變得很煩瑣。

-- 體驗範例程式 --



本範例程式和先前範例程式相比,程式碼變得更為簡潔,而且需要修改的部份不多,茲分述如下:


程式碼不須變動部份:

1.SignIn.html
2.SignIn.java
3.Session.java
4.SignOut.html
5.SignOut.java

Apache Wicket Auth/Roles 簡介 -- Authentication (2)

接續上一篇文章,本文的範例則是使用Auth/Roles套件中內建的SignInPanel,來呈現登入畫面,同時它亦可設定是否要將登入資訊儲存在cookie中。

-- 體驗範例程式 --



本範例大部份程式碼都和上一篇相同,只有一小部份有稍加修改,茲表列如下:

相同的部份:
1.Application.java
2.SignOut.html
3.SignOut.java

Apache Wicket Auth/Roles 簡介 -- Authentication (1)

Apache Wicket Auth/Roles是Apache Wicket的延伸套件,它讓認證(Authentication)及授權(Authorization)變得簡單易用。

本系列文章將以Apacke Wicket Example裡的範例來進行說明,Wicket的版本為1.5x。

首先,Auth/Roles套件實作了IAuthorizationStrategy介面;當授權策略(authorization strategy)安裝在安全性設定中(WebApplication#getSecuritySettings),Wicket將會自動檢查所有元件(component)是否具備可以初始化(instaintion)或是呈現畫面(render)的權限。