u/kagayakiin r/dotnet • Recommends
On “Roles - permissions case”
It's not a tutorial, but Jason Taylor gives talks at NDC on his Flexible Authorization framework that he created and sounds similar to what you are trying to do. Basically you define permissions in an enum and then use some math to be able to derive a "permission set" from a role, so you're controlling authorization based on permissions rather than roles. Way oversimplifying it in practice though I'm sure.
Looks like this is his github with his code for flexible auth.