forked from stffn/declarative_authorization
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCHANGELOG
77 lines (42 loc) · 3.69 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
* Allow passing explicit context in addition to object in permitted_to? [Olly Lylo, sb]
* Change Supporter: suggest changes to authorization rules [sb]
* Added permitted_to!/? in model [Eike Carls]
* New test helper: should_(not_)_be_allowed_to(privilege, object_or_context) [sb]
** RELEASE 0.3 (April 20, 2009) **
* New option :join_by for has_permission_on to allow AND'ing of statements in one has_permission_on block [sb]
* Allow using_access_control to be called directly on ActiveRecord::Base, globally enabling model security [sb]
* New operator: intersects_with, comparing two Enumerables in if_attribute [sb]
* Improved if_permitted_to syntax: if the attribute is left out, permissions are checked on for the current object [sb]
* Added #has_role_with_hierarchy? method to retrieve explicit and calculated roles [jeremyf]
* Added a simple rules analyzer to help improve authorization rules [sb]
* Gemified plugin. Needed to restructure the lib path contents [sb]
* Added handling of Authorization::AuthorizationInController::ClassMethods.filter_access_to parameters that are of the form [:show, :update] instead of just :show, :update. [jeremyf]
* Added authorization usage helper for checking filter_access_to usage in controllers [sb]
* 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) **