---理解和改进liferay
“guest”用户实际是一个匿名用户,在门户第一次被访问时,如果没有用户被识别(登录),这个“default”用户(也可以称作“guest”)被创建。这个用户被分配给一个com.liferay.portal.model.User 对象(存在在数据库中,hibernate),guest用户由一个默认的user ID,并且被分配值默认的组(group),具有默认的layout。一旦被保存在数据库里,这个默认的用户能够通过下面的代码找到:
 UserLocalServiceUtil.getDefaultUser(companyId).
这个默认用户的ID是有门户的“公司(company)”ID加上“.default”后缀组成的。
这个Default用户是在com.liferay.portal.service.impl.CompanyLocalServiceImpl 中178行的代码保存到数据库中的。是由GroupLocalServiceUtil.checkSystemGroups(), 最好调用了GroupLocalServiceImpl.addDefaultLayouts();缺省的layout通过调用com.liferay.portal.service.impl.GroupLocalServiceImpl.addDefaultLayouts()写入数据库。缺省的用户组名称定义在com.liferay.portal.util.GroupNames类。代码如下:
public static final String GUEST="Guest";
public static final String[] SYSTEM_GROUPS={GUESR};