public object Login(LoginData data) { if (!OneTimeKeyCenter.Use(data.temp_key)) { return new { code = ResultCode.InvalidTempKey } } ; bool?result = UserStore.Login(data.user_name, data.temp_key, data.pwd_hash); if (result == null) { return new { code = ResultCode.UserDoesNotExist } } ; else if (result == false) { return new { code = ResultCode.WrongPassword } } ; string session_key = UserCenter.Create(data.user_name); return(new { code = ResultCode.Success, session_key = session_key }); }
public object Register(RegisterData data) { Trace.TraceInformation("Register. user_name={0}, pwd_token={1}.", data.user_name, data.pwd_token); bool is_lau = data.user_name[0] == '_'; string check_name = is_lau ? data.user_name.Substring(1) : data.user_name; if (check_name.Length < 2 || check_name.Length > 100 || !Util.WithinCharSetUserName(check_name)) { return new { code = ResultCode.InvalidUserName } } ; if (!UserStore.Register(data.user_name, data.pwd_token)) { return new { code = ResultCode.UserNameOccupied } } ; string session_key = UserCenter.Create(data.user_name); return(new { code = ResultCode.Success, session_key = session_key }); }