Java 创建来宾会话

Java 创建来宾会话,java,session,aem,Java,Session,Aem,有没有办法在AEM中创建来宾会话 我们的项目将是一个基于AEM的电子商务网站,我们需要跟踪来访客人的会话并从中生成代币,以防在购物车上保存物品。我们需要跟踪此来宾会话/令牌,以便在用户决定登录到我们的站点以签出这些项目时,后端服务可以根据会话/令牌映射购物车的所有权。默认情况下,如果用户未登录并且查看了内容,AEM会在内部将用户记录为“匿名”,你可以把这当作客人。 您可以通过以下方式获得该值: import org.apache.jackrabbit.api.security.user.Aut

有没有办法在AEM中创建来宾会话


我们的项目将是一个基于AEM的电子商务网站,我们需要跟踪来访客人的会话并从中生成代币,以防在购物车上保存物品。我们需要跟踪此来宾会话/令牌,以便在用户决定登录到我们的站点以签出这些项目时,后端服务可以根据会话/令牌映射购物车的所有权。

默认情况下,如果用户未登录并且查看了内容,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
 }

默认情况下,如果用户没有登录并查看内容,AEM内部将用户记录为“匿名”,您可以将其视为“客人”。p> 您可以通过以下方式获得该值:

 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
 }