实现了身份选择与传递
客户端，服务端冗余代码较多。。
未想到好的设计。