重构UserSession