KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > alfresco > filesys > server > auth > acl > UserAccessControl


1 /*
2  * Copyright (C) 2005 Alfresco, Inc.
3  *
4  * Licensed under the Mozilla Public License version 1.1
5  * with a permitted attribution clause. You may obtain a
6  * copy of the License at
7  *
8  * http://www.alfresco.org/legal/license.txt
9  *
10  * Unless required by applicable law or agreed to in writing,
11  * software distributed under the License is distributed on an
12  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
13  * either express or implied. See the License for the specific
14  * language governing permissions and limitations under the
15  * License.
16  */

17 package org.alfresco.filesys.server.auth.acl;
18
19 import org.alfresco.filesys.server.SrvSession;
20 import org.alfresco.filesys.server.auth.ClientInfo;
21 import org.alfresco.filesys.server.core.SharedDevice;
22
23 /**
24  * User Access Control Class
25  * <p>
26  * Allow/disallow access to a shared device by checking the user name.
27  */

28 public class UserAccessControl extends AccessControl
29 {
30     /**
31      * Class constructor
32      *
33      * @param userName String
34      * @param type String
35      * @param access int
36      */

37     protected UserAccessControl(String JavaDoc userName, String JavaDoc type, int access)
38     {
39         super(userName, type, access);
40     }
41
42     /**
43      * Check if the user name matches the access control user name and return the allowed access.
44      *
45      * @param sess SrvSession
46      * @param share SharedDevice
47      * @param mgr AccessControlManager
48      * @return int
49      */

50     public int allowsAccess(SrvSession sess, SharedDevice share, AccessControlManager mgr)
51     {
52
53         // Check if the session has client information
54

55         if (sess.hasClientInformation() == false)
56             return Default;
57
58         // Check if the user name matches the access control name
59

60         ClientInfo cInfo = sess.getClientInformation();
61
62         if (cInfo.getUserName() != null && cInfo.getUserName().equalsIgnoreCase(getName()))
63             return getAccess();
64         return Default;
65     }
66 }
67
Popular Tags