顯示具有 開發:Portal(Liferay) 標籤的文章。 顯示所有文章
顯示具有 開發:Portal(Liferay) 標籤的文章。 顯示所有文章

2007年6月27日 星期三

Liferay Portal單一使用者登入

在啟動Liferay後,如果同一個使用者連續開啟Browser進行登入後結果會是如何,真正實作後會發現,我們同樣使用test@liferay.com這個帳號進行二次登入後,在Session中會有二個Session的記錄,並且這二個同樣帳號的使用者可進行完全符合該帳號權限的操作,那我們要如何限制使用者帳號只能進行單一的登入呢?

圖:預設狀況下,同一使用者進行二次登入的結果。

如果手邊有LiferaySource Code的話,可以找一下,在原始碼[portal-ejbclassesportal.properties]中的設定。

portal.properties

#

# Set the following to true if users are allowed to have simultaneous logins

# from different sessions.

#

auth.simultaneous.logins=true

這個設定主要用途在於設定是否允許相同帳號的使用者同時間進行登入,換句話說就是允許同一使用者進行多次的登入,因為預設為true,所以才會有上述的狀況出現。

若不希望同一時使用者進行多次登入的話可將該設定改為false即可,但在原始碼中修改並不明智,畢竟你修改了預設的設定,比較聰明的方法為,在已經佈署的Liferay Portal上進行調整,你可以開啟[%LiferayPortal%webappsROOTWEB-INFclassesportal-ext.properties]這個延伸設定檔,在當中進行設定將會覆蓋掉預設的設定。將其修改為auth.simultaneous.logins=false後重新啟動liferay,再次進行二次相同帳號使用者登入。

實作後會覺得有些吊詭的情況,還是允許二次相同帳號的登入如下圖:

圖:還是一樣的狀況

但當我們將第一次登入帳號的Browser進行任何操作時將會發現出現結果如下:

圖:警告有相同的帳號用不同的Session登入。

這個意思就代表了第一次登入的使用者因為在之後已有其他相同的使用者進行了登入,因此被踢出了Portal系統。這時我們再檢查一次第二次登入的BrowserSession資訊:

圖:得到滿意的結果,因先前登入的User已被踢出,所以只有一個使用者登入。

好,最後我們來個結論,這個設定只會限制在Liferay Portal中無論使用PCIP為何,使用者只能進行單一的登入,這麼看來似乎很像達成了SSO( Single Sign On )單一使用者簽入的任務,但其實不然,SSO是基於多個系統的單一簽入,因此多個系統一定會共用一個驗證中心,有興趣的話可以找一下Liferay PortalCAS進行SSO的資料。在本例中,因為Liferay Portal只是單一一個系統,因此談不上SSO

Read More......

2007年6月15日 星期五

Pluto、JetSpeed2、Liferay佈署WicketPortlet相容性比較

需求環境

Portal(Pluto 1.1.3)http://portals.apache.org/pluto/index.html

Portal(JetSpeed2 2.1)http://portals.apache.org/jetspeed-2/

Portal(Liferay 4.2.2)http://www.liferay.com/web/guest/home

Portlet Example(Wicket 1.2.6 Portlet Example-使用SVN取得原始碼)http://svn.apache.org/repos/asf/incubator/wicket/releases/wicket-1.2.6/wicket-portlet-examples

Maven2.0.6http://maven.apache.org/

JDKSun J2SE 1.5





佈署Wicket Portlet Example結果比較

Pluto

1.首頁

2.輸入文字按下[set message]

3.點選[click here]

4.點選[Link to the second page]

5.點選[click]進行計數

6.點選[Back to page1]



JetSpeed2

1.首頁

2.輸入文字按下[set message]

3.點選[click here]

4.點選[Link to the second page]

5.點選[click]進行計數

發生了異常狀況,網址列導至:
http://localhost:8080/wicket-portlet-examples/…

6.點選[Back to page1]

無法進行下一步操作,但可以用到退鍵
回到前面正常頁後繼續執行。



Liferay

1.首頁

2.輸入文字按下[set message]

3.點選[click here]

4.點選[Link to the second page]

5.點選[click]進行計數

6.點選[Back to page1]

經過比較後,讀者們,有沒有什麼結論呢?

Read More......