-
Notifications
You must be signed in to change notification settings - Fork 1
Need to be able to distinguish between different types of user #1
Comments
Role based-access also being discussed in dwyl/auth#31 |
@th0mas can you please indicate how many different roles and permissions you expect to need for Home Sec Auth? e.g:
Any others you can think of? |
@nelsonic No, I think that looks good. So do you want per-person access on top of RBAC? |
Ah, yes, RBAC is quite course when it comes to high-security environments. Our plan for the "dwyl App" is to have content-level access controls similar to a CMS or Google Docs. In this scenario the doors would be considered So for now, let's operate under the following assumptions/criteria:
roles = ["home_door_front", "home_doors_external", "home_resident", "home_housemaster", "admin"] Where the first role is the specific to that The individual RBAC.has_role(person, roles) We are expecting to allow checking multiple roles in a List: dwyl/rbac#2 @th0mas thoughts? |
Yeah this makes sense and should work well 👍 We could always fake content level access later by using single use roles with a thin abstraction over them |
Currently, once authenticated users have no individual roles. To be able to implement a secure system, we need to be able to properly limit what users can access based on their role. E.g.
Admin - Can control everything
Resident - Can register their devices and open some/most doors
Visitor - Can only use some doors when invited by Admin/Resident
We need to work out where we implement role-based control.
We could tack it on to the existing
user
stub in this application but I want to avoid adding too much extra data here, as weget most of our user info from the
Auth
system.We could implement a proper role-based system upstream in
Auth
. This is currently being discussed in Add Role-Based Access Control (RBAC) to auth? auth#27.I believe the second option will be better long term, as then all user info is centralised and roles easily accessed through JWTs
The text was updated successfully, but these errors were encountered: