Re:The M in MVC: Why Models are Misunderstood and Unappreciated
by glenjamin on Tuesday July 26, 2011 @08:54AM
(#2807057)
I see your point, I didn't notice that the parent mentioned WrongPasswordException, when I implemented something similar previously it looked like this:
User.authorize(username, password) -> Returns true if valid username/password -> Returns false if username/password do not match -> Raises AccountDisabled if username/password valid but account disabled
The normal login failure case is not exceptional - but the others are.
Re:The M in MVC: Why Models are Misunderstood and Unappreciated
by bergie on Tuesday July 26, 2011 @09:53AM
(#2807309)
Agreed, that is a better scenario.
Then again, stuff like authentication and authorization (two separate concepts!) are often better handled on some middleware or service layer than in models and controllers.
You could achieve it by catering for these cases in your logic if user.authorize(email, pass): ... success ... else: ... fail ...
rather than try: user.authorize(email, pass) ... success ... except WrongPasswordException: ... fail ...