access control list & permissions 2003-07-16 - By Rafal Kedziorski
Back Hi,
we have a fine grained ACL structure. for each module there are an acl (i.e. ACL.PROJECT, ACL.MEDIA, ACL.ACCESS, ...) and there are some permissions (i.e. Permission.READ, Permission.WRITE, Permission.CREATE, Permission.REMOVE, ...). this data is stored as read only in the db. we have other table acl_entries with the possible connections between acl's and permission's. each calls goes thru a Facade Pettern. for each module there are one facade session bean, which checks the acl's and permission's i.e.
public ProjectMetaData createProject(Long caller_user_id, ProjectMetaData project) throws CreateException, PermissionException, ParameterException { if (caller_user_id == null || project == null || !project.checkForCreate()) { logger.error("createProject() failed while one of the parameters is null " + projectMetaData); throw new ParameterException("ProjectFacade::createProject() failed while one of the parameters is null"); }
checkAclPermission(caller_user_id, AclHelper.MODULE_PROJECT, PermissionHelper.CREATE);
return projectLocalHome.create().createProject(caller_user_id, project); }
checkAclPermission() ask's every time the db directly by JDBC. our system can be used by many oem's. any oem have own users and groups. each user belongs to one ore more groups. this is defined by "valid from date" and "expired date". each group have one or more acl_entries.
now my question. is this a good design or is there a pettern, which we should use?
Best Regards, Rafal
==================================================================== Community Web Site (Core J2EE Patterns Catalog - Online Version): http://java.sun.com/blueprints/corej2eepatterns Getting Started (Beta Version): http://developer.java.sun.com/developer/technicalArticles/J2EE/patterns/ Get the book: http://www.amazon.com/exec/obidos/ASIN/0130648841/corej2eepatte-20 (See http://tte-20.ora-code.com) List Archive: http://archives.java.sun.com/archives/j2eepatterns-interest.html Unsubscribing: email "signoff J2EEPATTERNS-INTEREST" to listserv@(protected)
|
|