John Cardinal ee59efff48 case 4713 - customer contacts hold and act with customer roles only
Users who may edit contacts but not users (Service, Sales, Accounting) could
give a contact login any role, BizAdmin and OpsAdmin included, and roles are
what every check uses (security review F28). Now:
- saving a Customer or HeadOffice user with any role other than Customer or
  CustomerRestricted is refused (error on Roles);
- UserBiz.EffectiveRoles masks a contact's roles to the customer roles wherever
  they are applied: the token middleware, download-key routes, and the
  notification subscriber check, so contacts that already have staff roles
  stored act without them.

Checked: Service creating a contact with BizAdmin refused, with Customer works;
a contact with OpsAdmin stored in the database gets 403 downloading a log file.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 15:59:35 -07:00
2023-01-21 01:23:19 +00:00
2026-02-02 02:48:54 +00:00
2026-02-13 09:13:54 -08:00
2022-03-31 22:35:14 +00:00
2022-03-22 20:09:17 +00:00
2023-05-02 22:12:23 +00:00
Description
No description provided
178 MiB
Languages
C# 99.6%
JavaScript 0.2%
Batchfile 0.2%