Bug 5040: added method to check if user has a server permission to

SecurityService
This commit is contained in:
Steffen Jacobs committed 2019-05-16 17:19:46 +02:00
1 parent 67e5239873
commit 4d6196b096
2 files changed
+10 -1

No files matched your search

@@ -42,9 +42,9 @@ import com.sap.sse.security.shared.WithQualifiedObjectIdentifier;
import com.sap.sse.security.shared.impl.AccessControlList;
import com.sap.sse.security.shared.impl.Ownership;
import com.sap.sse.security.shared.impl.Role;
import com.sap.sse.security.shared.impl.SecuredSecurityTypes.ServerActions;
import com.sap.sse.security.shared.impl.User;
import com.sap.sse.security.shared.impl.UserGroup;
import com.sap.sse.security.shared.impl.SecuredSecurityTypes.ServerActions;
/**
* A service interface for security management. Intended to be used as an OSGi service that can be registered, e.g., by
@@ -606,4 +606,6 @@ public interface SecurityService extends ReplicableWithObjectInputStream<Replica
TypeRelativeObjectIdentifier typeRelativeObjectIdentifier, String securityDisplayName,
Action actionToCreateObject);
boolean hasCurrentUserServerPermission(ServerActions action);
}
@@ -1700,6 +1700,13 @@ public class SecurityServiceImpl implements ReplicableSecurityService, ClearStat
return result;
}
@Override
public boolean hasCurrentUserServerPermission(ServerActions action) {
return SecurityUtils.getSubject().isPermitted(
SecuredSecurityTypes.SERVER.getStringPermissionForTypeRelativeIdentifier(
ServerActions.CREATE_OBJECT, new TypeRelativeObjectIdentifier(ServerInfo.getName())));
}
@Override
public <T> T setOwnershipWithoutCheckPermissionForObjectCreationAndRevertOnError(HasPermissions type,
TypeRelativeObjectIdentifier typeIdentifier, String securityDisplayName, Callable<T> actionWithResult) {