El motivo por el que suele gestionarse en una clase o sistema separado y no en cada una de las partes que pretenden asociarse a permisos es por seguir las reglas SOLID, en este caso la S (Principio de responsabilidad única), lo cual te permite incluso escalar mejor.