Hlavní menu

Nástroje

OpenCMS / IdPrihlasenehoUzivatele

View (print) - Edit page | Recent changes - Page history

Updated 14 July 2008, 09:31 by PremekBrada

Návod na získání ID aktuálně přihlášeného uživatele

Pokud budete chtít v OpenCms zjistit ID aktuálně přihlášeného uživatele, budete muset získat jeho objekt následujícím způsobem.

  1. Nejdřív je třeba získat CmsObject, což je stěžejní třída OpenCms, která ti poskytne přístup ke všem VFS resources.
    Ta se dá získat např. přes CmsJspActionElement.
    Př. definování CmsJspActionElement:
    • CmsJspActionElement cms = new CmsJspActionElement(pageContext, request, response, ctx);
  2. Z CmsJspActionElement pak získám CmsObject:
    • CmsObject obj = cms.getCmsObject();
  3. Teď když mám CmsObject, tak z něj se dostanu na CmsRequestContext (= třída, která ukládá informace o OpenCMS kontextu aktuálně přihlášeného uživatele) a z CmsRequestContextu už se dá získat objekt CmsUser s aktuálně přihlášeným uživatelem:
    • CmsUser user = obj.getRequestContext().currentUser();
  4. Pokud budete navíc potřebovat dostat se na skupiny, do kterých přihlášený uživatel patří, využijete k tomu opět CmsObject:
    • List<CmsGroup> groups = (List<CmsGroup>) cms.getGroupsOfUser(user.getName());

V následující části uvádím kousek JSP kódu, který vypisuje aktuálně přihlášeného uživatele a skupiny, do kterých patří.

   pageContext.setAttribute("cmsUser", user);
   pageContext.setAttribute("groups", groups);
     ...
   <p>
     Uživatel <c:out value="${cmsUser.name}"/> patří do skupin<br/>
     <c:forEach items="${groups}" var="group">
       <c:out value="${group.name}"/><br/>
     </c:forEach>
   </p>

Získání/kontrola práv na aktuální nebo libovolný VFS resource

TODO

Zdroje

Pro více informací k této problematice můžete prostudovat následující odkazy vedoucí do OpenCms 6.2.3 Javadoc.