重构sessioncontrol，减少了重复代码