Jive筆記1--關於Jive1中的驗證和相關類的呼叫 (轉)
Jive筆記1--關於Jive1中的驗證和相關類的呼叫 (轉)[@more@]日期: 2001-4-24 下午5:25
所有的頁面均用下面程式碼驗證身份
// Authorization check
// check for the existence of an authorization token
Authorization authToken = SkinUtils.getUserAuthorization(request,response);
// if the token was null, they're not authorized. Since this skin will
// allow guests to view forums, we'll set a "guest" authentication
// token
if( authToken == null ) {
authToken = AuthorizationFactory.getAnonymousAuthorization();
}
%>
第一句話沒什麼好說的,是老老實實的static程式碼,從session or cookie中獲得Authorization
所謂Authxxx物件,不過是一個使用者ID而已.
第二句:如果第一句返回的是null,作為匿名使用者登陸
AuthorizationFactory.getAnonymousAuthorization();
首先一個private,static成員:
AuthorizationFactory.loadAuthorizationFactory()
在這個函式里,載入相應的驗證類,如果你自己編寫了相關的類,需要在jive.properties中新增:AuthorizationFactory.className=your_full_class_name。否則,載入預設的類:com.cools.forum.database.authorizationFactory。程式碼如下:
Class c = Class.forName(className);
factory = (AuthorizationFactory)c.newInstance();
其實,這裡的c是DbAuthorizationFactory型別的,但是為了通用性,被upcasting為其父類。的動態繫結技術可以正確呼叫相應的成員函式。所以,真正我們要看的程式碼,在DbAuthorizationFactory這個類中。
好了,我們獲得了一個factory,透過factory.createAnonymousAuthorization();就可以獲得一個匿名的Authorization物件例項. 記住,雖然factory在申明的時候是AuthorizationFactory型別的,但真正呼叫的程式碼在DbAuthorizationFactory.class中。繼續跟蹤分析factory.createAnonymousAuthorization();其實就返回一個userID為-1的Authorization物件例項。注意,這裡的Authorization物件其實是DbAuthorization物件
好了,接下來就可以透過Authorization物件來獲得ForumFactory,然後獲得Forums,然後...
所有的頁面均用下面程式碼驗證身份
// Authorization check
// check for the existence of an authorization token
Authorization authToken = SkinUtils.getUserAuthorization(request,response);
// if the token was null, they're not authorized. Since this skin will
// allow guests to view forums, we'll set a "guest" authentication
// token
if( authToken == null ) {
authToken = AuthorizationFactory.getAnonymousAuthorization();
}
%>
第一句話沒什麼好說的,是老老實實的static程式碼,從session or cookie中獲得Authorization
所謂Authxxx物件,不過是一個使用者ID而已.
第二句:如果第一句返回的是null,作為匿名使用者登陸
AuthorizationFactory.getAnonymousAuthorization();
首先一個private,static成員:
AuthorizationFactory.loadAuthorizationFactory()
在這個函式里,載入相應的驗證類,如果你自己編寫了相關的類,需要在jive.properties中新增:AuthorizationFactory.className=your_full_class_name。否則,載入預設的類:com.cools.forum.database.authorizationFactory。程式碼如下:
Class c = Class.forName(className);
factory = (AuthorizationFactory)c.newInstance();
其實,這裡的c是DbAuthorizationFactory型別的,但是為了通用性,被upcasting為其父類。的動態繫結技術可以正確呼叫相應的成員函式。所以,真正我們要看的程式碼,在DbAuthorizationFactory這個類中。
好了,我們獲得了一個factory,透過factory.createAnonymousAuthorization();就可以獲得一個匿名的Authorization物件例項. 記住,雖然factory在申明的時候是AuthorizationFactory型別的,但真正呼叫的程式碼在DbAuthorizationFactory.class中。繼續跟蹤分析factory.createAnonymousAuthorization();其實就返回一個userID為-1的Authorization物件例項。注意,這裡的Authorization物件其實是DbAuthorization物件
好了,接下來就可以透過Authorization物件來獲得ForumFactory,然後獲得Forums,然後...
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-958254/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Jive筆記2----關於Jive2中的中文搜尋 (轉)筆記
- 關於Java中的類和物件筆記Java物件筆記
- 晶片驗證的相關概念(轉載)晶片
- 驗證碼的作用和相關技術
- 關於js中的this呼叫JS
- 關於jive的安裝
- Jive筆記7 -- Jive的硬傷 (轉)筆記
- 關於jive中ForumFactory.getInstance()的困惑
- 關於Java Mail的身份驗證!JavaAI
- css中關於table的相關設定CSS
- (緊急求助)關於jive訊息過濾的實現相關問題
- 路由相關筆記路由筆記
- php相關筆記PHP筆記
- 關於軟體驗證中的單元測試
- 關於CSS中的定位使用子絕父相(子類絕對位置和父類相對位置)CSS
- 關於轉儲Oracle索引資訊的相關命令Oracle索引
- Delphi中關於TApplication類的詳解 (轉)APP
- 關於linux的啟動流程的筆記(轉)Linux筆記
- 關於值物件的驗證的問題物件
- 驗證HFile和HLog中序列號的關係
- 關於webpack的筆記1Web筆記
- 關於jive安裝的問題
- 關於jive的設定問題
- docker相關概念筆記Docker筆記
- MSBUID相關(筆記)UI筆記
- iOS searchbar 相關筆記iOS筆記
- ASM相關概念(筆記)ASM筆記
- 請教關於Jive中過濾器的問題過濾器
- 關於JIVE原始碼!原始碼
- Java中陣列及相關類的使用Java陣列
- ACCESS 關於表設計中,驗證規則的使用技巧
- 使用 Java 操作 Git-驗證相關JavaGit
- 關於Java中類的成員Java
- 在wsl中部署puppeteer的相關筆記筆記
- TensorFlow筆記(1)——TensorFlow中的相關基本概念筆記
- 關於http的瑣碎筆記HTTP筆記
- 關於愛德蒙·伯克的筆記筆記
- C#學習筆記三:類初步相關知識要點(1) (轉)C#筆記