2011-01-06 20 views
1

我有一個遺留的java webapp使用Acegi安全。我試圖從jsp頁面中刪除所有java腳本。是否有任何ACEGI標籤可用於替換以下表達式:ACEGI標籤訪問目前登錄用戶對象

SecurityContextHolder.getContext().getAuthentication() 

上述表達式返回當前登錄的用戶對象。例如,我可能有一個JSP頁面,上面寫着「你好,鮑勃你的生日是1980年1月1日。」從Bob的用戶對象中提取名字「Bob」和生日。

注意:我知道我的Struts Action可以聲明User對象並將其初始化爲上述代碼的值,但我更願意直接從JSP頁面訪問當前登錄的用戶。

回答

0

爲什麼不生成包含缺少標籤的自己的taglib?這是非常容易做到的,並且您將所有代碼本地化到非常狹小的區域,以防您想要做出的更改(例如,隨時記錄超級用戶登錄)。

0

acegi中有相當古怪的authentication標籤。

<authz:authentication operation="name"/> 

將輸出目前本金的價值getName

這不是最有用的,但如果你實現自己的版本,它將是一個很好的開始。