重构用户登录