don't log all good exception
refactored user login, use same resource as shiro to access to db