1
22
23 package com.liferay.portal.service.permission;
24
25 import com.liferay.portal.PortalException;
26 import com.liferay.portal.SystemException;
27 import com.liferay.portal.kernel.log.Log;
28 import com.liferay.portal.kernel.log.LogFactoryUtil;
29 import com.liferay.portal.model.Account;
30 import com.liferay.portal.model.Contact;
31 import com.liferay.portal.model.Organization;
32 import com.liferay.portal.model.User;
33 import com.liferay.portal.security.auth.PrincipalException;
34 import com.liferay.portal.security.permission.PermissionChecker;
35 import com.liferay.portal.service.UserLocalServiceUtil;
36 import com.liferay.portal.util.PortalUtil;
37
38
44 public class CommonPermissionImpl implements CommonPermission {
45
46 public void check(
47 PermissionChecker permissionChecker, long classNameId,
48 long classPK, String actionId)
49 throws PortalException, SystemException {
50
51 String className = PortalUtil.getClassName(classNameId);
52
53 check(permissionChecker, className, classPK, actionId);
54 }
55
56 public void check(
57 PermissionChecker permissionChecker, String className,
58 long classPK, String actionId)
59 throws PortalException, SystemException {
60
61 if (className.equals(Account.class.getName())) {
62 }
63 else if (className.equals(Contact.class.getName())) {
64 User user = UserLocalServiceUtil.getUserByContactId(classPK);
65
66 UserPermissionUtil.check(
67 permissionChecker, user.getUserId(), user.getOrganizationIds(),
68 actionId);
69 }
70 else if (className.equals(Organization.class.getName())) {
71 OrganizationPermissionUtil.check(
72 permissionChecker, classPK, actionId);
73 }
74 else {
75 if (_log.isWarnEnabled()) {
76 _log.warn("Invalid class name " + className);
77 }
78
79 throw new PrincipalException();
80 }
81 }
82
83 private static Log _log = LogFactoryUtil.getLog(CommonPermissionImpl.class);
84
85 }