2

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

2

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.

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.