Mejor manera de aplicar permisos: ¿controlador o restricción?

Creo que los permisos deben aplicarse en el controlador o en las restricciones. El modelo no sabe quién lo está llamando, creo.

Muchas gracias por pensar en esto.