somewhat rewrite of Authorize::Rule