I thought about doing it this way, but it seemed more complicated to have permissions for each model the user interacts with, instead of having permissions on each class of user.