On 1/11/11 1:22 PM, "Kalle Korhonen" <[email protected]> wrote:
> On Mon, Jan 10, 2011 at 2:22 PM, Les Hazlewood <[email protected]> wrote: >> Can we guarantee that if a user upgrades from 1.1 to 1.2 their >> existing code and/or config won't break due to this change? If not, I >> question the need for this to occur right now. Sure, it's not an >> ideal thing having Realm extend Authorizer, but if it breaks code, I >> don't know what the hurry would be. > > Hey Les, sure, I did think about it. I can only "virtually guarantee" > - as you say, most users have extended AuthorizationRealm anyway where > everything works as before. Only if they've implemented Realm > directly, they'd have to explicitly Authorizer as the other > implemented interface. I don't think you can create configuration only > in a way that would break this. I'm of the opinion that any code smell > should be addressed as soon as possible to prevent it from becoming a > bigger issue. This is easy to document in the upgrade notes since we > didn't change any of the actual interfaces. It fails fast and is easy > to correct. If we didn't do it now, it would have to wait for till > unplanned and unscheduled 2.x and for such a small upgrade issue, I > think it's much better to encourage users to upgrade and keep up with > the api changes in small steps. > This will also break any code written against the Realm interface that attempts to invoke those authorization methods on it. >> The fact that Realms have always been able to perform both >> authentication and authorization has been true for a very long time. >> Removing it for a minor release sounds a little hasty to me. I'm not >> questioning the change - just the timing. > > But the AuthenticatingRealm doesn't imply that. You know an > authenticating only realm and an ability to differentiate between > authenticating only and authorizing realms makes sense. We could of > course keep the other changes I made and add Authorizer back to the > top - but since there's no way to indicate it as deprecated (unless we > introduced a new base interface replacing Realm, which would be far > worse), it seems to me repositioning the interface in the inheritance > hierarchy is still a much better option. > > Kalle
