2016-01-21 89 views
1

有沒有一種方法來創建AEM訪客會話?創建客戶會話

我們的項目將建立在AEM的電子商務網站,我們需要跟蹤輸入來賓的會議,並生成令牌出來,萬一有將節省上車的物品的。我們需要跟蹤這間會議/令牌,以便萬一用戶決定登錄到我們的網站檢出的項目,後端服務能夠映射基於會話/令牌車的所有權。

回答

0

默認情況下,如果用戶沒有登錄和內容看,AEM內部記錄用戶爲「匿名」,你可能會認爲這是客人。

你可以得到如低於此值:

import org.apache.jackrabbit.api.security.user.Authorizable; 
import org.apache.jackrabbit.api.security.user.UserManager; 
import org.apache.sling.api.resource.ResourceResolver; 
import javax.jcr.Session; 
... 
UserManager userManager = resourceResolver.adaptTo(UserManager.class); 
Session session = resourceResolver.adaptTo(Session.class); 

// Getting the current user       
Authorizable auth = userManager.getAuthorizable(session.getUserID()); 
log.info("\n--- User, Principal="+auth.getID()+","+auth.getPrincipal().getName()); 

// Do not try to get the token if no user logged in - anonymous 
if (auth.getID().equals(ANONYMOUS_USER)) { 
    // Write your logic here   
} else { 
    // User logged 
}