1

I want to know how managed package licenses work for the user who does not have license assigned. My questions are -

  1. Will the user be able to access an object from the package in any way through UI without having a license assigned. I believe no, but want to be sure about it.

  2. If an apex class has a query on managed package object, and the class runs in a context of an unlicensed user, will it be considered as a read event on that object or user accessed the managed package?

If there are any relevant document out there which clarifies that, would be a great help.

Thanks much!

1 Answer 1

1

Will the user be able to access an object from the package in any way through UI without having a license assigned. I believe no, but want to be sure about it.

Correct. They cannot see the object in reports, cannot access its tab, cannot query or describe it in any API, etc. This restriction doesn't include system administrators, if I recall correctly.

If an apex class has a query on managed package object, and the class runs in a context of an unlicensed user, will it be considered as a read event on that object or user accessed the managed package?

Apex doesn't care about licenses or object-level access at all by default (with some caveats). That's why we have methods like Security.stripInaccessible, SOQL's WITH SECURITY_ENFORCED, UserInfo.isCurrentUserLicensed, and other such methods.

In other words, if you write Apex code that requires access to those managed components, the user won't automatically be blocked from those objects if they are unlicensed. You'll need to check with the documentation if you require blocking unlicensed users from accessing managed package data if you're concerned about that.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.