2016-01-21 2 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 
} 
Смежные вопросы