I would like to have 4 actions with the same name (controller methods may have a different name, but their ActionName() attribute is the same for all 4 of them:
You have to create a route constraint for the authorized and non authorized actions. System.Web.Routing is not doing anything with the authorize attribute.