org.jwarp.service.security
Interface ISecurity

All Superinterfaces:
ISecurityAware
All Known Implementing Classes:
ASecurity

public interface ISecurity
extends ISecurityAware


Field Summary
static int ALL_USERS
           
static int LEVEL_CREATE
          Access level: create
static int LEVEL_DELETE
          Access level: deletion access
static int LEVEL_FULLACCESS
          Access level: full access
static int LEVEL_GRANT
          Access level: grant to others
static int LEVEL_READ
          Access level: read only
static int LEVEL_UPDATE
          Access level: write
 
Method Summary
 boolean accessGranted(ISecurityObject object, int level, ITicket userTicket)
          Returns true if the user is granted access of the given level to the object with the given ID.
 boolean accessGranted(java.lang.String objectID, int level, ITicket userTicket)
          Returns true if the user is granted access of the given level to the object with the given ID.
 void addMember(ISecurityGroup group, ISecurityGroup member, ITicket admin)
          Add a user to a group
 void addMember(ISecurityGroup group, ISecurityUser member, ITicket admin)
          Add a user to a group
 void addSecurityListener(ISecurityListener listener)
          Add a work manager listener to listen to the work managers activities.
 void checkTicket(ITicket user)
          Check the validity of the given ticket.
 ISecurityGroup createGroup(java.lang.String name, java.lang.String description, java.lang.Object additional, ITicket admin)
          Create a new group with the setings given.
 ISecurityObject createObject(java.lang.String name, java.lang.String description, java.lang.Object additional, ITicket admin)
          Create a new group with the setings given.
 ISecurityUser createUser(java.lang.String uid, java.lang.String pwd, java.lang.String name, java.lang.String description, java.lang.Object additional, ITicket admin)
          Create a new user with the setings given.
 void delete(ISecurityGroup group, ITicket admin)
           
 void delete(ISecurityObject object, ITicket admin)
           
 void delete(ISecurityUser user, ITicket admin)
           
 ISecurityGroup getGroup(int id, ITicket admin)
          Returns the group with the given id.
 ISecurityGroup getGroup(java.lang.String name, ITicket admin)
          Returns the group with the given name.
 java.util.Iterator getGroups(ITicket admin)
          Returns all defined users.
 java.util.Iterator getMembers(ISecurityGroup group, ITicket admin)
          Returns all defined users/groups of a group.
 ISecurityObject getObject(int id, ITicket admin)
          Returns the object with the given id.
 ISecurityObject getObject(java.lang.String name, ITicket admin)
          Returns the object with the given name.
 java.util.Iterator getObjects(ITicket admin)
          Returns all defined users.
 ISecurityUser getUser(int id, ITicket admin)
          Returns the user with the given id.
 ISecurityUser getUser(java.lang.String uid, ITicket admin)
          Returns the user with the given uid.
 java.util.Iterator getUsers(ITicket admin)
          Returns all defined users.
 void grant(ISecurityObject object, int level, ISecurityGroup group, ITicket admin)
          Tries to grant rights to access the object given the ID with the level passed.
 void grant(ISecurityObject object, int level, ISecurityUser user, ITicket admin)
          Tries to grant rights to access the object given the ID with the level passed.
 void grant(java.lang.String objectID, int level, ISecurityGroup group, ITicket admin)
          Tries to grant rights to access the object given the ID with the level passed.
 void grant(java.lang.String objectID, int level, ISecurityUser user, ITicket admin)
          Tries to grant rights to access the object given the ID with the level passed.
 boolean isLoggedIn(ISecurityUser item, ITicket admin)
          Returns true if the user is loged in.
 ITicket login(java.lang.String uid, java.lang.String pwd)
          Tries to login the user and gives back the users object.
 void removeMember(ISecurityGroup group, ISecurityGroup member, ITicket admin)
          Remove a user from a group
 void removeMember(ISecurityGroup group, ISecurityUser member, ITicket admin)
          Remove a user from a group
 void removeSecurityListener(ISecurityListener listener)
          Removes a work manager listener from the listeners list.
 void revoke(ISecurityObject object, int level, ISecurityGroup group, boolean force, ITicket admin)
          Tries to revoke rights to access the object given the ID with the level passed.
 void revoke(ISecurityObject object, int level, ISecurityUser user, boolean force, ITicket admin)
          Tries to revoke rights to access the object given the ID with the level passed.
 void revoke(java.lang.String objectID, int level, ISecurityGroup group, boolean force, ITicket admin)
          Tries to revoke rights to access the object given the ID with the level passed.
 void revoke(java.lang.String objectID, int level, ISecurityUser user, boolean force, ITicket admin)
          Tries to revoke rights to access the object given the ID with the level passed.
 void setContext(IContext context, ITicket admin)
          Set a new context (only allowed for admin users)
 
Methods inherited from interface org.jwarp.service.security.ISecurityAware
getSecurityObjects, initSecurity
 

Field Detail

LEVEL_CREATE

public static final int LEVEL_CREATE
Access level: create

LEVEL_READ

public static final int LEVEL_READ
Access level: read only

LEVEL_UPDATE

public static final int LEVEL_UPDATE
Access level: write

LEVEL_DELETE

public static final int LEVEL_DELETE
Access level: deletion access

LEVEL_GRANT

public static final int LEVEL_GRANT
Access level: grant to others

LEVEL_FULLACCESS

public static final int LEVEL_FULLACCESS
Access level: full access

ALL_USERS

public static final int ALL_USERS
Method Detail

createUser

public ISecurityUser createUser(java.lang.String uid,
                                java.lang.String pwd,
                                java.lang.String name,
                                java.lang.String description,
                                java.lang.Object additional,
                                ITicket admin)
                         throws java.lang.SecurityException,
                                java.lang.RuntimeException
Create a new user with the setings given. The relationID is used to have a reference to whatever data the user needs, e.g. the primary key in the enterpise's personal db or a more complex string containing several infos.
Parameters:
uid - The user's identification
pwd - The user's password
name - The user's name
description - An optional description
relationID - An optional relation ID
admin - The user who tries to create the new user
Throws:
java.lang.SecurityException - If the creation failed.

createGroup

public ISecurityGroup createGroup(java.lang.String name,
                                  java.lang.String description,
                                  java.lang.Object additional,
                                  ITicket admin)
                           throws java.lang.SecurityException,
                                  java.lang.RuntimeException
Create a new group with the setings given. The relationID is used to have a reference to whatever data the user needs, e.g. the primary key in the enterpise's db or a more complex string containing several infos.
Parameters:
name - The user's name
description - An optional description
relationID - An optional relation ID
admin - The user who tries to create the new user
Throws:
java.lang.SecurityException - If the creation failed.

delete

public void delete(ISecurityGroup group,
                   ITicket admin)
            throws java.lang.SecurityException,
                   java.lang.RuntimeException

delete

public void delete(ISecurityUser user,
                   ITicket admin)
            throws java.lang.SecurityException,
                   java.lang.RuntimeException

delete

public void delete(ISecurityObject object,
                   ITicket admin)
            throws java.lang.SecurityException,
                   java.lang.RuntimeException

createObject

public ISecurityObject createObject(java.lang.String name,
                                    java.lang.String description,
                                    java.lang.Object additional,
                                    ITicket admin)
                             throws java.lang.SecurityException,
                                    java.lang.RuntimeException
Create a new group with the setings given. The relationID is used to have a reference to whatever data the user needs, e.g. the primary key in the enterpise's db or a more complex string containing several infos.
Parameters:
name - The user's name
description - An optional description
relationID - An optional relation ID
admin - The user who tries to create the new user
Throws:
java.lang.SecurityException - If the creation failed.

getUser

public ISecurityUser getUser(int id,
                             ITicket admin)
                      throws java.lang.SecurityException
Returns the user with the given id.
Returns:
The corresponding user or null

getUser

public ISecurityUser getUser(java.lang.String uid,
                             ITicket admin)
                      throws java.lang.SecurityException
Returns the user with the given uid.
Returns:
The corresponding user or null

getGroup

public ISecurityGroup getGroup(int id,
                               ITicket admin)
                        throws java.lang.SecurityException
Returns the group with the given id.
Returns:
The corresponding group or null

getGroup

public ISecurityGroup getGroup(java.lang.String name,
                               ITicket admin)
                        throws java.lang.SecurityException
Returns the group with the given name.
Returns:
The corresponding group or null

getObject

public ISecurityObject getObject(int id,
                                 ITicket admin)
                          throws java.lang.SecurityException
Returns the object with the given id.
Returns:
The corresponding object or null

getObject

public ISecurityObject getObject(java.lang.String name,
                                 ITicket admin)
                          throws java.lang.SecurityException
Returns the object with the given name.
Returns:
The corresponding object or null

getUsers

public java.util.Iterator getUsers(ITicket admin)
                            throws java.lang.SecurityException
Returns all defined users.
Parameters:
admin - The administrator who triggers the call
Throws:
java.lang.SecurityException - If the Administrator was denied access.

getGroups

public java.util.Iterator getGroups(ITicket admin)
                             throws java.lang.SecurityException
Returns all defined users.
Parameters:
admin - The administrator who triggers the call
Throws:
java.lang.SecurityException - If the Administrator was denied access.

getObjects

public java.util.Iterator getObjects(ITicket admin)
                              throws java.lang.SecurityException
Returns all defined users.
Parameters:
admin - The administrator who triggers the call
Throws:
java.lang.SecurityException - If the Administrator was denied access.

addMember

public void addMember(ISecurityGroup group,
                      ISecurityUser member,
                      ITicket admin)
               throws java.lang.SecurityException,
                      java.lang.RuntimeException
Add a user to a group
Parameters:
user - The user
group - The group
admin - The admin user
Throws:
java.lang.SecurityException - If the setting failed.

addMember

public void addMember(ISecurityGroup group,
                      ISecurityGroup member,
                      ITicket admin)
               throws java.lang.SecurityException,
                      java.lang.RuntimeException
Add a user to a group
Parameters:
user - The user
group - The group
admin - The admin user
Throws:
java.lang.SecurityException - If the setting failed.

removeMember

public void removeMember(ISecurityGroup group,
                         ISecurityUser member,
                         ITicket admin)
                  throws java.lang.SecurityException,
                         java.lang.RuntimeException
Remove a user from a group
Parameters:
user - The user
group - The group
admin - The admin user
Throws:
java.lang.SecurityException - If the setting failed.

removeMember

public void removeMember(ISecurityGroup group,
                         ISecurityGroup member,
                         ITicket admin)
                  throws java.lang.SecurityException,
                         java.lang.RuntimeException
Remove a user from a group
Parameters:
user - The user
group - The group
admin - The admin user
Throws:
java.lang.SecurityException - If the setting failed.

grant

public void grant(ISecurityObject object,
                  int level,
                  ISecurityUser user,
                  ITicket admin)
           throws java.lang.SecurityException,
                  java.lang.RuntimeException
Tries to grant rights to access the object given the ID with the level passed.
Parameters:
objectID - The object's id
level - The access level
user - The user the access is granted, null grants the right to all users.
admin - The admin who triggers the request.
Throws:
java.lang.SecurityException -  

grant

public void grant(ISecurityObject object,
                  int level,
                  ISecurityGroup group,
                  ITicket admin)
           throws java.lang.SecurityException,
                  java.lang.RuntimeException
Tries to grant rights to access the object given the ID with the level passed.
Parameters:
objectID - The object's id
level - The access level
user - The user the access is granted, null grants the right to all users.
admin - The admin who triggers the request.
Throws:
java.lang.SecurityException -  

grant

public void grant(java.lang.String objectID,
                  int level,
                  ISecurityUser user,
                  ITicket admin)
           throws java.lang.SecurityException,
                  java.lang.RuntimeException
Tries to grant rights to access the object given the ID with the level passed.
Parameters:
objectID - The object's id
level - The access level
user - The user the access is granted, null grants the right to all users.
admin - The admin who triggers the request.
Throws:
java.lang.SecurityException -  

grant

public void grant(java.lang.String objectID,
                  int level,
                  ISecurityGroup group,
                  ITicket admin)
           throws java.lang.SecurityException,
                  java.lang.RuntimeException
Tries to grant rights to access the object given the ID with the level passed.
Parameters:
objectID - The object's id
level - The access level
user - The user the access is granted, null grants the right to all users.
admin - The admin who triggers the request.
Throws:
java.lang.SecurityException -  

revoke

public void revoke(java.lang.String objectID,
                   int level,
                   ISecurityUser user,
                   boolean force,
                   ITicket admin)
            throws java.lang.SecurityException,
                   java.lang.RuntimeException
Tries to revoke rights to access the object given the ID with the level passed. Force means that it is tried to revoke the rights immedeately.
Parameters:
objectID - The object's id
level - The access level
group - The grouper the access is revoked.
force - Try to revoke emmedeately or after next login
admin - The admin who triggers the request.
Throws:
java.lang.SecurityException -  

revoke

public void revoke(java.lang.String objectID,
                   int level,
                   ISecurityGroup group,
                   boolean force,
                   ITicket admin)
            throws java.lang.SecurityException,
                   java.lang.RuntimeException
Tries to revoke rights to access the object given the ID with the level passed. Force means that it is tried to revoke the rights immedeately.
Parameters:
objectID - The object's id
level - The access level
group - The grouper the access is revoked.
force - Try to revoke emmedeately or after next login
admin - The admin who triggers the request.
Throws:
java.lang.SecurityException -  

revoke

public void revoke(ISecurityObject object,
                   int level,
                   ISecurityUser user,
                   boolean force,
                   ITicket admin)
            throws java.lang.SecurityException,
                   java.lang.RuntimeException
Tries to revoke rights to access the object given the ID with the level passed. Force means that it is tried to revoke the rights immedeately.
Parameters:
objectID - The object's id
level - The access level
group - The grouper the access is revoked.
force - Try to revoke emmedeately or after next login
admin - The admin who triggers the request.
Throws:
java.lang.SecurityException -  

revoke

public void revoke(ISecurityObject object,
                   int level,
                   ISecurityGroup group,
                   boolean force,
                   ITicket admin)
            throws java.lang.SecurityException,
                   java.lang.RuntimeException
Tries to revoke rights to access the object given the ID with the level passed. Force means that it is tried to revoke the rights immedeately.
Parameters:
objectID - The object's id
level - The access level
group - The grouper the access is revoked.
force - Try to revoke emmedeately or after next login
admin - The admin who triggers the request.
Throws:
java.lang.SecurityException -  

getMembers

public java.util.Iterator getMembers(ISecurityGroup group,
                                     ITicket admin)
                              throws java.lang.SecurityException
Returns all defined users/groups of a group.
Parameters:
admin - The administrator who triggers the call
Throws:
java.lang.SecurityException - If the Administrator was denied access.

accessGranted

public boolean accessGranted(java.lang.String objectID,
                             int level,
                             ITicket userTicket)
Returns true if the user is granted access of the given level to the object with the given ID. This is the cetral access control method of the WHOLE security system.
Returns:
true if the user is a member

accessGranted

public boolean accessGranted(ISecurityObject object,
                             int level,
                             ITicket userTicket)
Returns true if the user is granted access of the given level to the object with the given ID. This is the cetral access control method of the WHOLE security system.
Returns:
true if the user is a member

login

public ITicket login(java.lang.String uid,
                     java.lang.String pwd)
              throws LoginException
Tries to login the user and gives back the users object. If the login fails a LoginException is raised.

isLoggedIn

public boolean isLoggedIn(ISecurityUser item,
                          ITicket admin)
                   throws java.lang.SecurityException
Returns true if the user is loged in.
Returns:
true if the user is loged in.

addSecurityListener

public void addSecurityListener(ISecurityListener listener)
Add a work manager listener to listen to the work managers activities.

removeSecurityListener

public void removeSecurityListener(ISecurityListener listener)
Removes a work manager listener from the listeners list.
Parameters:
The - listener

setContext

public void setContext(IContext context,
                       ITicket admin)
                throws java.lang.SecurityException
Set a new context (only allowed for admin users)

checkTicket

public void checkTicket(ITicket user)
                 throws java.lang.SecurityException
Check the validity of the given ticket.

©   O R C A   S y s t e m s