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
43 public class CommonPermissionImpl implements CommonPermission {
44
45 public void check(
46 PermissionChecker permissionChecker, long classNameId,
47 long classPK, String actionId)
48 throws PortalException, SystemException {
49
50 String className = PortalUtil.getClassName(classNameId);
51
52 check(permissionChecker, className, classPK, actionId);
53 }
54
55 public void check(
56 PermissionChecker permissionChecker, String className,
57 long classPK, String actionId)
58 throws PortalException, SystemException {
59
60 if (className.equals(Account.class.getName())) {
61 }
62 else if (className.equals(Contact.class.getName())) {
63 User user = UserLocalServiceUtil.getUserByContactId(classPK);
64
65 UserPermissionUtil.check(
66 permissionChecker, user.getUserId(), user.getOrganizationIds(),
67 actionId);
68 }
69 else if (className.equals(Organization.class.getName())) {
70 OrganizationPermissionUtil.check(
71 permissionChecker, classPK, actionId);
72 }
73 else {
74 if (_log.isWarnEnabled()) {
75 _log.warn("Invalid class name " + className);
76 }
77
78 throw new PrincipalException();
79 }
80 }
81
82 private static Log _log = LogFactoryUtil.getLog(CommonPermissionImpl.class);
83
84 }