uPortal 2.4.1
API Documentation

org.jasig.portal.security.provider
Class AuthorizationImpl

java.lang.Object
  extended byorg.jasig.portal.security.provider.AuthorizationImpl
All Implemented Interfaces:
IAuthorizationService

public class AuthorizationImpl
extends java.lang.Object
implements IAuthorizationService

Version:
$Revision: 1.37 $
Author:
Bernie Durfee, bdurfee@interactivebusiness.com, Dan Ellentuck

Method Summary
 void addPermissions(IPermission[] permissions)
          Adds IPermissions to the back end store.
 boolean canPrincipalPublish(IAuthorizationPrincipal principal)
          This checks if the framework has granted principal a right to publish.
 boolean canPrincipalRender(IAuthorizationPrincipal principal, int channelPublishId)
          Answers if the principal has permission to RENDER this Channel.
 boolean canPrincipalSubscribe(IAuthorizationPrincipal principal, int channelPublishId)
          Answers if the principal has permission to SUBSCRIBE to this Channel.
 boolean doesPrincipalHavePermission(IAuthorizationPrincipal principal, java.lang.String owner, java.lang.String activity, java.lang.String target)
          Answers if the owner has given the principal (or any of its parents) permission to perform the activity on the target.
 boolean doesPrincipalHavePermission(IAuthorizationPrincipal principal, java.lang.String owner, java.lang.String activity, java.lang.String target, IPermissionPolicy policy)
          Answers if the owner has given the principal permission to perform the activity on the target, as evaluated by the policy.
 IPermission[] getAllPermissionsForPrincipal(IAuthorizationPrincipal principal, java.lang.String owner, java.lang.String activity, java.lang.String target)
          Returns the IPermissions owner has granted this Principal for the specified activity and target.
 java.util.Vector getAuthorizedChannels(IAuthorizationPrincipal principal)
          Does this mean all channels the principal could conceivably subscribe to or all channels principal is specifically authorized to subscribe to, or what?
 IAuthorizationPrincipal[] getAuthorizedPrincipals(java.lang.String owner, java.lang.String activity, java.lang.String target)
          Returns IAuthorizationPrincipals that have IPermissions for the given owner, activity and target.
 IGroupMember getGroupMember(IAuthorizationPrincipal principal)
           
 IPermission[] getPermissionsForOwner(java.lang.String owner, java.lang.String activity, java.lang.String target)
          Returns the IPermissions owner has granted for the specified activity and target.
 IPermission[] getPermissionsForPrincipal(IAuthorizationPrincipal principal, java.lang.String owner, java.lang.String activity, java.lang.String target)
          Returns the IPermissions owner has granted this Principal for the specified activity and target.
 IAuthorizationPrincipal getPrincipal(IPermission permission)
          Returns IAuthorizationPrincipal associated with the IPermission.
 java.lang.String getPrincipalString(IAuthorizationPrincipal principal)
          Returns the String used by an IPermission to represent an IAuthorizationPrincipal.
 IPermission[] getUncachedPermissionsForPrincipal(IAuthorizationPrincipal principal, java.lang.String owner, java.lang.String activity, java.lang.String target)
          Returns the IPermissions owner has granted this Principal for the specified activity and target.
 IPermission newPermission(java.lang.String owner)
          Factory method for an IPermission.
 IPermission newPermission(java.lang.String owner, IAuthorizationPrincipal principal)
          Factory method for an IPermission.
 IPermissionManager newPermissionManager(java.lang.String owner)
          Factory method for IPermissionManager.
 IAuthorizationPrincipal newPrincipal(IGroupMember groupMember)
          Converts an IGroupMember into an IAuthorizationPrincipal.
 IAuthorizationPrincipal newPrincipal(java.lang.String key, java.lang.Class type)
          Factory method for IAuthorizationPrincipal.
 IUpdatingPermissionManager newUpdatingPermissionManager(java.lang.String owner)
          Factory method for IUpdatingPermissionManager.
 void removePermissions(IPermission[] permissions)
          Removes IPermissions from the back end store.
static IAuthorizationService singleton()
           
 void updatePermissions(IPermission[] permissions)
          Updates IPermissions in the back end store.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

addPermissions

public void addPermissions(IPermission[] permissions)
                    throws AuthorizationException
Adds IPermissions to the back end store.

Specified by:
addPermissions in interface IAuthorizationService
Parameters:
permissions - IPermission[]
Throws:
AuthorizationException

canPrincipalPublish

public boolean canPrincipalPublish(IAuthorizationPrincipal principal)
                            throws AuthorizationException
This checks if the framework has granted principal a right to publish. DO WE WANT SOMETHING THIS COARSE (de)?

Specified by:
canPrincipalPublish in interface IAuthorizationService
Parameters:
principal - IAuthorizationPrincipal
Returns:
boolean
Throws:
AuthorizationException

canPrincipalRender

public boolean canPrincipalRender(IAuthorizationPrincipal principal,
                                  int channelPublishId)
                           throws AuthorizationException
Answers if the principal has permission to RENDER this Channel.

Specified by:
canPrincipalRender in interface IAuthorizationService
Parameters:
principal - IAuthorizationPrincipal
channelPublishId - int
Returns:
boolean
Throws:
AuthorizationException - indicates authorization information could not be retrieved.

canPrincipalSubscribe

public boolean canPrincipalSubscribe(IAuthorizationPrincipal principal,
                                     int channelPublishId)
                              throws AuthorizationException
Answers if the principal has permission to SUBSCRIBE to this Channel.

Specified by:
canPrincipalSubscribe in interface IAuthorizationService
Parameters:
principal - IAuthorizationPrincipal
channelPublishId - int
Returns:
boolean
Throws:
AuthorizationException - indicates authorization information could not be retrieved.

doesPrincipalHavePermission

public boolean doesPrincipalHavePermission(IAuthorizationPrincipal principal,
                                           java.lang.String owner,
                                           java.lang.String activity,
                                           java.lang.String target)
                                    throws AuthorizationException
Answers if the owner has given the principal (or any of its parents) permission to perform the activity on the target. Params owner and activity must be non-null. If target is null, then target is not checked.

Specified by:
doesPrincipalHavePermission in interface IAuthorizationService
Parameters:
principal - IAuthorizationPrincipal
owner - java.lang.String
activity - java.lang.String
target - java.lang.String
Returns:
boolean
Throws:
AuthorizationException - indicates authorization information could not be retrieved.

doesPrincipalHavePermission

public boolean doesPrincipalHavePermission(IAuthorizationPrincipal principal,
                                           java.lang.String owner,
                                           java.lang.String activity,
                                           java.lang.String target,
                                           IPermissionPolicy policy)
                                    throws AuthorizationException
Answers if the owner has given the principal permission to perform the activity on the target, as evaluated by the policy. Params policy, owner and activity must be non-null.

Specified by:
doesPrincipalHavePermission in interface IAuthorizationService
Parameters:
principal - IAuthorizationPrincipal
owner - java.lang.String
activity - java.lang.String
target - java.lang.String
Returns:
boolean
Throws:
AuthorizationException - indicates authorization information could not be retrieved.

getAllPermissionsForPrincipal

public IPermission[] getAllPermissionsForPrincipal(IAuthorizationPrincipal principal,
                                                   java.lang.String owner,
                                                   java.lang.String activity,
                                                   java.lang.String target)
                                            throws AuthorizationException
Returns the IPermissions owner has granted this Principal for the specified activity and target. Null parameters will be ignored, that is, all IPermissions matching the non-null parameters are retrieved. So, getPermissions(principal,null, null, null) should retrieve all IPermissions for a Principal. Note that this includes IPermissions inherited from groups the Principal belongs to.

Specified by:
getAllPermissionsForPrincipal in interface IAuthorizationService
Parameters:
principal - IAuthorizationPrincipal
owner - java.lang.String
activity - java.lang.String
target - java.lang.String
Returns:
org.jasig.portal.security.IPermission[]
Throws:
AuthorizationException - indicates authorization information could not be retrieved.

getAuthorizedChannels

public java.util.Vector getAuthorizedChannels(IAuthorizationPrincipal principal)
                                       throws AuthorizationException
Does this mean all channels the principal could conceivably subscribe to or all channels principal is specifically authorized to subscribe to, or what?

Specified by:
getAuthorizedChannels in interface IAuthorizationService
Parameters:
principal - IAuthorizationPrincipal
Returns:
Vector (of channels?)
Throws:
AuthorizationException - indicates authorization information could not

getAuthorizedPrincipals

public IAuthorizationPrincipal[] getAuthorizedPrincipals(java.lang.String owner,
                                                         java.lang.String activity,
                                                         java.lang.String target)
                                                  throws AuthorizationException
Returns IAuthorizationPrincipals that have IPermissions for the given owner, activity and target.

Parameters:
owner -
activity -
target -
Returns:
IAuthorizationPrincipal[]
Throws:
AuthorizationException

getGroupMember

public IGroupMember getGroupMember(IAuthorizationPrincipal principal)
                            throws GroupsException
Specified by:
getGroupMember in interface IAuthorizationService
Parameters:
principal - org.jasig.portal.security.IAuthorizationPrincipal
Returns:
org.jasig.portal.groups.IGroupMember
Throws:
GroupsException

getPermissionsForOwner

public IPermission[] getPermissionsForOwner(java.lang.String owner,
                                            java.lang.String activity,
                                            java.lang.String target)
                                     throws AuthorizationException
Returns the IPermissions owner has granted for the specified activity and target. Null parameters will be ignored, that is, all IPermissions matching the non-null parameters are retrieved.

Specified by:
getPermissionsForOwner in interface IAuthorizationService
Parameters:
owner - java.lang.String
activity - java.lang.String
target - java.lang.String
Returns:
org.jasig.portal.security.IPermission[]
Throws:
AuthorizationException - indicates authorization information could not be retrieved.

getPermissionsForPrincipal

public IPermission[] getPermissionsForPrincipal(IAuthorizationPrincipal principal,
                                                java.lang.String owner,
                                                java.lang.String activity,
                                                java.lang.String target)
                                         throws AuthorizationException
Returns the IPermissions owner has granted this Principal for the specified activity and target. Null parameters will be ignored, that is, all IPermissions matching the non-null parameters are retrieved. So, getPermissions(principal,null, null, null) should retrieve all IPermissions for a Principal.

Specified by:
getPermissionsForPrincipal in interface IAuthorizationService
Parameters:
principal - IAuthorizationPrincipal
owner - java.lang.String
activity - java.lang.String
target - java.lang.String
Returns:
org.jasig.portal.security.IPermission[]
Throws:
AuthorizationException - indicates authorization information could not be retrieved.

getPrincipal

public IAuthorizationPrincipal getPrincipal(IPermission permission)
                                     throws AuthorizationException
Returns IAuthorizationPrincipal associated with the IPermission.

Specified by:
getPrincipal in interface IAuthorizationService
Parameters:
permission - IPermission
Returns:
IAuthorizationPrincipal
Throws:
AuthorizationException

getPrincipalString

public java.lang.String getPrincipalString(IAuthorizationPrincipal principal)
Returns the String used by an IPermission to represent an IAuthorizationPrincipal.

Specified by:
getPrincipalString in interface IAuthorizationService
Parameters:
principal - org.jasig.portal.security.IAuthorizationPrincipal

getUncachedPermissionsForPrincipal

public IPermission[] getUncachedPermissionsForPrincipal(IAuthorizationPrincipal principal,
                                                        java.lang.String owner,
                                                        java.lang.String activity,
                                                        java.lang.String target)
                                                 throws AuthorizationException
Returns the IPermissions owner has granted this Principal for the specified activity and target. Null parameters will be ignored, that is, all IPermissions matching the non-null parameters are retrieved. So, getPermissions(principal,null, null, null) should retrieve all IPermissions for a Principal. Ignore any cached IPermissions.

Parameters:
principal - IAuthorizationPrincipal
owner - java.lang.String
activity - java.lang.String
target - java.lang.String
Returns:
org.jasig.portal.security.IPermission[]
Throws:
AuthorizationException - indicates authorization information could not be retrieved.

newPermission

public IPermission newPermission(java.lang.String owner)
Factory method for an IPermission.

Parameters:
owner - String
Returns:
org.jasig.portal.security.Permission

newPermission

public IPermission newPermission(java.lang.String owner,
                                 IAuthorizationPrincipal principal)
Factory method for an IPermission.

Specified by:
newPermission in interface IAuthorizationService
Parameters:
owner - String
principal - IAuthorizationPrincipal
Returns:
org.jasig.portal.security.IPermission

newPermissionManager

public IPermissionManager newPermissionManager(java.lang.String owner)
Factory method for IPermissionManager.

Specified by:
newPermissionManager in interface IAuthorizationService
Parameters:
owner - java.lang.String
Returns:
org.jasig.portal.security.IPermissionManager

newPrincipal

public IAuthorizationPrincipal newPrincipal(java.lang.String key,
                                            java.lang.Class type)
Factory method for IAuthorizationPrincipal. First check the principal cache, and if not present, create the principal and cache it.

Specified by:
newPrincipal in interface IAuthorizationService
Parameters:
key - java.lang.String
type - java.lang.Class
Returns:
org.jasig.portal.security.IAuthorizationPrincipal

newPrincipal

public IAuthorizationPrincipal newPrincipal(IGroupMember groupMember)
                                     throws GroupsException
Converts an IGroupMember into an IAuthorizationPrincipal.

Specified by:
newPrincipal in interface IAuthorizationService
Parameters:
groupMember - org.jasig.portal.groups.IGroupMember
Returns:
org.jasig.portal.security.IAuthorizationPrincipal
Throws:
GroupsException

newUpdatingPermissionManager

public IUpdatingPermissionManager newUpdatingPermissionManager(java.lang.String owner)
Factory method for IUpdatingPermissionManager.

Specified by:
newUpdatingPermissionManager in interface IAuthorizationService
Parameters:
owner - java.lang.String
Returns:
org.jasig.portal.security.IUpdatingPermissionManager

removePermissions

public void removePermissions(IPermission[] permissions)
                       throws AuthorizationException
Removes IPermissions from the back end store.

Specified by:
removePermissions in interface IAuthorizationService
Parameters:
permissions - IPermission[]
Throws:
AuthorizationException

singleton

public static IAuthorizationService singleton()
                                       throws AuthorizationException
Returns:
org.jasig.portal.security.provider.IAuthorizationService
Throws:
AuthorizationException

updatePermissions

public void updatePermissions(IPermission[] permissions)
                       throws AuthorizationException
Updates IPermissions in the back end store.

Specified by:
updatePermissions in interface IAuthorizationService
Parameters:
permissions - IPermission[]
Throws:
AuthorizationException

uPortal 2.4.1
API Documentation