* Added a authorization rules browser. See README for more information [sb] * Added Model.using_access_control? to check if a model has model security activated [sb] * Changed Authorization::ObligationScope#map_table_alias_for [Brian Langenfeld] * Fixed to prevent bad aliases from being produced. * Changed Authorization::Attribute#validate? [Brian Langenfeld] * Encountering a nil value when evaluating an attribute now raises a NilAttributeValueError, instead of an AuthorizationError. We leave it to the caller to decide what to do about it. * Changed Authorization::Engine#permit! [Brian Langenfeld] * We now convert incoming privileges to symbols (e.g. 'read' is made equivalent to :read). This ensures the privileges will match those defined in the authorization rules file. * The method now properly infers context when checking against an association (e.g. user.posts). We do this by leveraging ActiveRecord builder method 'new' to instantiate a proper object we can work with. * When testing rules for positive results (via Authorization::Attribute#validate?), we now rescue NilAttributeValueError exceptions, simply causing the rule to return a negative result (instead of barfing). * Changed Authorization::ObligationScope#rebuild_join_options! [Brian Langenfeld] * If we're dealing with multiple obligations we have to check (i.e. ones that result in OR'd conditions), we now use :include instead of :joins for our generated scope. This does seem like a kludge, but until ActiveRecord scopes support unions (for checking obligations individually and consolidating the results), we don't have much choice. Something to revisit later, for sure. ** RELEASE 0.2 (February 2, 2009) ** * added negative operators: is_not, not_in, does_not_contain [sb] * changed user.roles to user.role_symbols to reduce interferance with associations [sb] * Ruby 1.9 and Rails 2.3 compatibility [sb] * if_permitted_to for has_permission_on blocks for DRYer auth rules [sb] * ObligationScope rewrite of query rewriting [Brian Langenfeld] * changed exception hierarchy to begin at StandardError [sb] * :is_in operator [sb] * added has_role? helper [sb] * made plugin thread-safe [sb] * added maintenance and test helpers [sb] * changed default permission denied response to 403 Forbidden [sb] * descriptions for titles and roles [sb] * fixed for PostgreSQL [Mark Mansour] * improved DSL syntax: allow for array of contexts in has_permission_on [sb] ** RELEASE 0.1 (August 22, 2008) **