require_role on a per action basis

I am working on an app that has three roles (user, admin, business). I
have the situation where all three roles interact with the same
controller, but have access to different actions. Some actions are
authorized for 2 roles (admin, business), and others are only authorized
for one role (administrator).

Does anyone know if there is a commonly used pattern for security on a
per action basis?

What I would like to do is be able to map which roles are authorized to
call which actions and be able to call a :before_filter in my
controller.

In my head I'm thinking of something like

before_filter :authorize_action => :except [:public_action1,
:public_action2]

Thanks for any input.

Consider restful_authentication and rolerequirement
http://code.google.com/p/rolerequirement/

Thanks for the links. Very appreciated. I will take a look at these
*very* common tasks.

Marnen Laibow-Koser wrote: