If you don't have a lot of forms to maintain, put the role checking code in the form-level trigger. Raise an alert message to tell the user he cannot access the form because of (whatever reason).