com.xpn.xwiki.user.impl.xwiki
Class XWikiRightServiceImpl

java.lang.Object
  extended by com.xpn.xwiki.user.impl.xwiki.XWikiRightServiceImpl
All Implemented Interfaces:
XWikiRightService

public class XWikiRightServiceImpl
extends Object
implements XWikiRightService

Default implementation of XWikiRightService.

Version:
$Id: 378fb8de524cd053d11a58620b73e811a3f5f593 $

Field Summary
static EntityReference GLOBALRIGHTCLASS_REFERENCE
           
static EntityReference RIGHTCLASS_REFERENCE
           
 
Fields inherited from interface com.xpn.xwiki.user.api.XWikiRightService
ALLGROUP_GROUP, ALLGROUP_GROUP_FULLNAME, GUEST_USER, GUEST_USER_FULLNAME, SUPERADMIN_USER, SUPERADMIN_USER_FULLNAME
 
Constructor Summary
XWikiRightServiceImpl()
           
 
Method Summary
 boolean checkAccess(String action, XWikiDocument doc, XWikiContext context)
          Checks if the wiki current user has the right to execute (@code action} on the document doc, along with redirecting to the login if it's not the case and there is no logged in user (the user is the guest user).
 boolean checkRight(String userOrGroupName, XWikiDocument doc, String accessLevel, boolean user, boolean allow, boolean global, XWikiContext context)
           
 String getRight(String action)
           
 boolean hasAccessLevel(String accessLevel, String userOrGroupName, String entityReference, boolean user, XWikiContext context)
           
 boolean hasAccessLevel(String right, String username, String docname, XWikiContext context)
          Verifies if the user identified by username has the access level identified by right on the document with the name docname.
 boolean hasAdminRights(XWikiContext context)
          Checks that the current user in the context (the currently authenticated user) has administration rights either on the current wiki or on the current space.
 boolean hasProgrammingRights(XWikiContext context)
          Checks if the author of the context document (last editor of the content of the document) has programming rights (used to determine if the protected calls in the script contained in the document should be executed or not).
 boolean hasProgrammingRights(XWikiDocument doc, XWikiContext context)
          Checks if the author of the passed document (last editor of the content of the document) has programming rights (used to determine if the protected calls in the script contained in the document should be executed or not).
 boolean hasWikiAdminRights(XWikiContext context)
          Checks that the current user in the context (the currently authenticated user) has administration rights on the current wiki, regardless of any space admin rights that might also be available.
 List<String> listAllLevels(XWikiContext context)
           
protected  void logAllow(String username, String page, String action, String info)
           
protected  void logDeny(String username, String page, String action, String info)
           
protected  void logDeny(String name, String resourceKey, String accessLevel, String info, Exception e)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

RIGHTCLASS_REFERENCE

public static final EntityReference RIGHTCLASS_REFERENCE

GLOBALRIGHTCLASS_REFERENCE

public static final EntityReference GLOBALRIGHTCLASS_REFERENCE
Constructor Detail

XWikiRightServiceImpl

public XWikiRightServiceImpl()
Method Detail

logAllow

protected void logAllow(String username,
                        String page,
                        String action,
                        String info)

logDeny

protected void logDeny(String username,
                       String page,
                       String action,
                       String info)

logDeny

protected void logDeny(String name,
                       String resourceKey,
                       String accessLevel,
                       String info,
                       Exception e)

listAllLevels

public List<String> listAllLevels(XWikiContext context)
                           throws XWikiException
Specified by:
listAllLevels in interface XWikiRightService
Parameters:
context - the xwiki context of this request
Returns:
the list of all the known access levels
Throws:
XWikiException - if something goes wrong during the rights checking process

getRight

public String getRight(String action)

checkAccess

public boolean checkAccess(String action,
                           XWikiDocument doc,
                           XWikiContext context)
                    throws XWikiException
Description copied from interface: XWikiRightService
Checks if the wiki current user has the right to execute (@code action} on the document doc, along with redirecting to the login if it's not the case and there is no logged in user (the user is the guest user).

Specified by:
checkAccess in interface XWikiRightService
Parameters:
action - the action to be executed on the document
doc - the document to perform action on
context - the xwiki context in which to perform the verification (from which to get the user, for example)
Returns:
true if the user has right to execute action on doc, false otherwise and requests the login from the authentication service (redirecting to the login page in the case of a form authenticator, for example) when no user is logged in.
Throws:
XWikiException - if something goes wrong during the rights checking process

hasAccessLevel

public boolean hasAccessLevel(String right,
                              String username,
                              String docname,
                              XWikiContext context)
                       throws XWikiException
Description copied from interface: XWikiRightService
Verifies if the user identified by username has the access level identified by right on the document with the name docname.

Specified by:
hasAccessLevel in interface XWikiRightService
Parameters:
right - the access level to check (for example, 'view' or 'edit' or 'comment').
username - the name of the user to check the right for
docname - the document on which to check the right
context - the xwiki context in which to perform the verification
Returns:
true if the user has the specified right on the document, false otherwise
Throws:
XWikiException - if something goes wrong during the rights checking process

checkRight

public boolean checkRight(String userOrGroupName,
                          XWikiDocument doc,
                          String accessLevel,
                          boolean user,
                          boolean allow,
                          boolean global,
                          XWikiContext context)
                   throws XWikiRightNotFoundException,
                          XWikiException
Throws:
XWikiRightNotFoundException
XWikiException

hasAccessLevel

public boolean hasAccessLevel(String accessLevel,
                              String userOrGroupName,
                              String entityReference,
                              boolean user,
                              XWikiContext context)
                       throws XWikiException
Throws:
XWikiException

hasProgrammingRights

public boolean hasProgrammingRights(XWikiContext context)
Description copied from interface: XWikiRightService
Checks if the author of the context document (last editor of the content of the document) has programming rights (used to determine if the protected calls in the script contained in the document should be executed or not).

Specified by:
hasProgrammingRights in interface XWikiRightService
Parameters:
context - the xwiki context of this request
Returns:
true if the author of the context document has programming rights, false otherwise.

hasProgrammingRights

public boolean hasProgrammingRights(XWikiDocument doc,
                                    XWikiContext context)
Description copied from interface: XWikiRightService
Checks if the author of the passed document (last editor of the content of the document) has programming rights (used to determine if the protected calls in the script contained in the document should be executed or not).

Specified by:
hasProgrammingRights in interface XWikiRightService
Parameters:
doc - the document to check programming rights for
context - the xwiki context of this request
Returns:
true if the author of doc has programming rights, false otherwise.

hasAdminRights

public boolean hasAdminRights(XWikiContext context)
Description copied from interface: XWikiRightService
Checks that the current user in the context (the currently authenticated user) has administration rights either on the current wiki or on the current space.

Specified by:
hasAdminRights in interface XWikiRightService
Parameters:
context - the xwiki context of this request
Returns:
true if the current user in the context has the admin right, false otherwise

hasWikiAdminRights

public boolean hasWikiAdminRights(XWikiContext context)
Description copied from interface: XWikiRightService
Checks that the current user in the context (the currently authenticated user) has administration rights on the current wiki, regardless of any space admin rights that might also be available.

Specified by:
hasWikiAdminRights in interface XWikiRightService
Parameters:
context - the xwiki context of this request
Returns:
true if the current user in the context has the admin right, false otherwise


Copyright © 2004-2013 XWiki. All Rights Reserved.