David M Johnson wrote:
On Mar 27, 2006, at 1:04 PM, Allen Gilliland wrote:
so we would be pushing the logic outside the persistence layer and
expecting someone else to do authentication/authorization, not the
persistence layer.
I agree that somebody else should do the authentication, but the rules
about who can do what (authorization) are part of the application logic
of Roller. The more of that we can encapsulate the better.
Having said that, I can't object to ripping out setUser() and getUser().
Currently, we double check things. The presentation layer calls an "is
user X authorized to perform action Y on object Z" style method and
then, in the save() method in the back-end does another check -- but by
that time it's too late, the change has already been made to the
persistent instance. Ripping out the setUser() and getUser() methods
will only affect that second check that the back-end does -- so it's
fine by me.
Are you going to leave the existing "is user authorized to edit" methods
in place so that checks can be made from the presentation layer as they
are now?
i'm not sure exactly what methods you are talking about, are you talking
about the PersistentObject.canSave() methods?
i don't think there is any problem with leaving those in place right
now, but i think long term we can come up with a better solution.
-- Allen
- Dave