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