01: /**********************************************************************************
02: * $URL: https://source.sakaiproject.org/contrib/ufp/usermembership/trunk/impl/src/java/org/sakaiproject/umem/impl/AuthzImpl.java $
03: * $Id: AuthzImpl.java 4297 2007-03-16 12:22:04Z nuno@ufp.pt $
04: ***********************************************************************************
05: *
06: * Copyright (c) 2003, 2004, 2005, 2006, 2007 The Sakai Foundation.
07: *
08: * Licensed under the Educational Community License, Version 1.0 (the "License");
09: * you may not use this file except in compliance with the License.
10: * You may obtain a copy of the License at
11: *
12: * http://www.opensource.org/licenses/ecl1.php
13: *
14: * Unless required by applicable law or agreed to in writing, software
15: * distributed under the License is distributed on an "AS IS" BASIS,
16: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17: * See the License for the specific language governing permissions and
18: * limitations under the License.
19: *
20: **********************************************************************************/package org.sakaiproject.umem.impl;
21:
22: import org.apache.commons.logging.Log;
23: import org.apache.commons.logging.LogFactory;
24: import org.sakaiproject.authz.api.SecurityService;
25: import org.sakaiproject.authz.cover.FunctionManager;
26: import org.sakaiproject.site.cover.SiteService;
27: import org.sakaiproject.umem.api.Authz;
28:
29: public class AuthzImpl implements Authz {
30: private static Log LOG = LogFactory.getLog(AuthzImpl.class);
31:
32: /** Sakai services */
33: private SecurityService M_secs;
34:
35: // ################################################################
36: // Spring bean methods
37: // ################################################################
38: public void setSecurityService(SecurityService securityService) {
39: this .M_secs = securityService;
40: }
41:
42: public void init() {
43: LOG.info("init()");
44: // register functions
45: FunctionManager.registerFunction(PERMISSION_UMEM_VIEW);
46: }
47:
48: // ################################################################
49: // Public methods
50: // ################################################################
51: /* (non-Javadoc)
52: * @see edu.ufp.sakai.tool.usermembership.api.Authz#isUserAbleToViewUmem(java.lang.String)
53: */
54: public boolean isUserAbleToViewUmem(String siteId) {
55: return isSuperUser()
56: || hasPermission(SiteService.siteReference(siteId),
57: PERMISSION_UMEM_VIEW);
58: }
59:
60: // ################################################################
61: // Private methods
62: // ################################################################
63: private boolean isSuperUser() {
64: return M_secs.isSuperUser();
65: }
66:
67: private boolean hasPermission(String reference, String permission) {
68: return M_secs.unlock(permission, reference);
69: }
70: }
|