コード例 #1
0
        /**
         *              (!) нужно будет делать регистрацию приводя все знаки 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);
            }
        }
コード例 #2
0
        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);                // Регистрация прошла
            }
        }