Member Junction
    Preparing search index...
    • Computes the field-permission rows an entity is missing and the ones it should no longer have. Pure — no I/O, no entity objects, no provider. Everything comes off EntityInfo.

      Snapshot defaults mirror entity-level permissions, so enabling field security on an entity changes no behavior until an administrator tightens a specific field. A role that can read the entity gets ReadAccess = 'Allow'; its Update and Create follow the entity-level grants, defaulting to No Access.

      A role without entity-level read gets no rows at all. The entity-level gate already excludes it, so rows would be noise — and a row granting Update without Read would violate the Read-required CHECK constraint anyway.

      Unrestrictable fields (primary keys, __mj_ columns) get no rows. They are forced open in the aggregation regardless, so rows for them are clutter that would also trip the save-time guard.

      No role is excluded — including the ones the MJ system user holds. Those rows are what keeps the system user working now that the aggregation has no bypass for it: it holds the standard roles (UI, Developer, Integration), which carry entity read on essentially everything, so the snapshot grants them Allow here and the save-time guards refuse any later Deny aimed at them. Access the server relies on is therefore visible in the data rather than implied by an exemption in code.

      Parameters

      Returns FieldPermissionDelta