/** * (!) нужно будет делать регистрацию приводя все знаки username / password к строчным * ещё проверять нужно будет пароли и имена, чтобы они содержали только a-z,A-Z,1-9 ,-,_ и никаких пробелов * * Пароль в эти функции уже должен приходить как md5 хеш, это делается при вызове функций на клиенте...только где это писать **/ public bool Register(string user_name, string password) { if (TestPattern.TestAccountName(user_name)) { if (TestPattern.TestPassword(password)) { Microsoft.WindowsAzure.CloudStorageAccount.SetConfigurationSettingPublisher((configName, configSetter) => { configSetter(RoleEnvironment.GetConfigurationSettingValue(configName)); }); string salt = HashHelper.GetRandomString(); AccountManagerEntry entry = new AccountManagerEntry() { Account = user_name.ToLower(), HashPassword = HashHelper.GetMd5Hash(password + salt), Salt = salt, Email = "sky@shoot", Info = "--" }; AccountManagerDataSource ds = new AccountManagerDataSource(); return(ds.AddAccountManagerEntry(entry)); } else { return(false); } } else { return(false); } }
public bool AddAccountManagerEntry(AccountManagerEntry newItem) { //var results = from g in this.context.AccountManagerEntry // where g.Account == newItem.Account // select g; //var entry = results.FirstOrDefault<AccountManagerEntry>(); var results = (from g in this.context.AccountManagerEntry select g).ToList(); var entry = results.Where(g => g.Account == newItem.Account).FirstOrDefault <AccountManagerEntry>(); if (entry != null) { return(false); // Аккаунт с таким именем уже существует! } else { this.context.AddObject("AccountManagerEntry", newItem); this.context.SaveChanges(); return(true); // Регистрация прошла } }