Пример #1
0
        private void SignInButtonClick(object sender, RoutedEventArgs e)
        {
            var login    = loginTextBox.Text;
            var password = passwordBox.Password;

            if (string.IsNullOrEmpty(login) || string.IsNullOrWhiteSpace(login) ||
                string.IsNullOrEmpty(password) || string.IsNullOrWhiteSpace(password))
            {
                MessageBox.Show("Заполните все поля");
                return;
            }

            UsersRepository repository = new UsersRepository();
            var             user       = repository.CheckForAvailability("Login", login);

            if (user != null && DataEncryptor.IsValidPassword(password, user.Password))
            {
                MessageBox.Show("Добро пожаловать!", "Удачный вход", MessageBoxButton.OK, MessageBoxImage.Information);
                Close();
            }
            else
            {
                MessageBox.Show("Пшел вон, шал!", "Неудачный вход", MessageBoxButton.OK, MessageBoxImage.Error);
                loginTextBox.Clear();
                passwordBox.Clear();
            }
        }
Пример #2
0
        public object resetpassword([FromBody] JsonElement json)
        {
            var model = JsonConvert.DeserializeObject <PasswordDTO>(json.GetRawText());

            if (model == null)
            {
                return(CreatedAtAction(nameof(resetpassword), new { result = ResultCode.InputHasNotFound, message = ResultMessage.InputHasNotFound }));
            }

            var student = _context.Students.Where(w => w.ID == model.id).FirstOrDefault();

            if (student != null)
            {
                var user = _context.Users.Where(w => w.ID == model.uid).FirstOrDefault();
                if (user != null)
                {
                    user.Password        = DataEncryptor.Encrypt(model.password);
                    user.ConfirmPassword = DataEncryptor.Encrypt(model.password);
                    user.Update_By       = model.update_by;
                    user.Update_On       = DateUtil.Now();
                }
                student.Update_By = model.update_by;
                student.Update_On = DateUtil.Now();
                _context.SaveChanges();
                return(CreatedAtAction(nameof(resetpassword), new { result = ResultCode.Success, message = ResultMessage.Success }));
            }
            return(CreatedAtAction(nameof(resetpassword), new { result = ResultCode.InvalidInput, message = ResultMessage.InvalidInput }));
        }
Пример #3
0
    /// <summary>
    /// Encrypts the wallet data asynchronously.
    /// </summary>
    /// <param name="seed"> The <see langword="byte"/>[] seed to encrypt. </param>
    /// <param name="password"> The base password to use for encryption, retrieved from the user input. </param>
    /// <param name="onWalletEncrypted"> Action called once the wallet has been encrypted. </param>
    private void AsyncEncryptWallet(
        byte[] seed,
        byte[] password,
        Action <string[], string, string> onWalletEncrypted)
    {
        string[] encryptedHashes    = null;
        string   saltedPasswordHash = null;
        string   encryptedSeed      = null;

        byte[] derivedPassword = playerPrefPassword.Derive(password);

        using (var dataEncryptor = new DataEncryptor(new AdvancedSecureRandom(new Blake2bDigest(512), derivedPassword)))
        {
            byte[] hash1 = RandomBytes.Secure.Blake2.GetBytes(512);
            byte[] hash2 = RandomBytes.Secure.Blake2.GetBytes(1024);

            saltedPasswordHash = new PBKDF2PasswordHashing(new Blake2b_512_Engine()).GetSaltedPasswordHash(password).GetBase64String();
            encryptedSeed      = dataEncryptor.Encrypt(dataEncryptor.Encrypt(seed.GetHexString(), hash1), hash2);

            encryptedHashes = new string[]
            {
                dataEncryptor.Encrypt(hash1).GetBase64String(),
                dataEncryptor.Encrypt(hash2).GetBase64String()
            };

            hash1.ClearBytes();
            hash2.ClearBytes();
        }

        dynamicDataCache.SetData("pass", new ProtectedString(password, this));
        dynamicDataCache.SetData("mnemonic", null);

        MainThreadExecutor.QueueAction(() => onWalletEncrypted?.Invoke(encryptedHashes, saltedPasswordHash, encryptedSeed));
    }
Пример #4
0
        public static (int birthYear, int weight, bool isMan) GetPersonalData(string username)
        {
            lock (username)
            {
                if (File.Exists(usersFolderPath + @"/Authentifications.json"))
                {
                    string fileContent = DataEncryptor.Decrypt(File.ReadAllText(usersFolderPath + @"/Authentifications.json"), DataEncryptor.FileKey);

                    if (!String.IsNullOrEmpty(fileContent))
                    {
                        JObject json = JObject.Parse(fileContent);
                        JArray  authentifications = json.GetValue("authentifications").ToObject <JArray>();

                        foreach (JToken authToken in authentifications)
                        {
                            JObject authentification = authToken.ToObject <JObject>();

                            string usernameAuth = authentification.GetValue("username").ToString();

                            if (username == usernameAuth)
                            {
                                int  birthYear = int.Parse(authentification.GetValue("birthyear").ToString());
                                int  weight    = int.Parse(authentification.GetValue("weight").ToString());
                                bool isMan     = (authentification.GetValue("gender").ToString() == "man") ? true : false;

                                return(birthYear, weight, isMan);
                            }
                        }
                    }
                }
                return(0, 0, true);
            }
        }
        private async Task AskForPassword(int count = 0)
        {
            if (string.IsNullOrEmpty(Password))
            {
                var res = await _jsRuntime.InvokeAsync <string>("prompt",
                                                                "Enter passphrase to decrypt secure web storage.");

                if (!string.IsNullOrEmpty(res))
                {
                    var lsRes = await GetRaw($"{KeyPrefix}passwordtest");

                    if (string.IsNullOrEmpty(lsRes))
                    {
                        Password = res;
                        await Set($"passwordtest", "passwordtest");

                        var decryptTest = await Get <string>("passwordtest");

                        await _jsRuntime.InvokeVoidAsync("alert",
                                                         $"saved key test and decoded it correctly: {(decryptTest == "passwordtest")}");
                    }
                    else if (DataEncryptor.Decrypt(lsRes, res) != "\"passwordtest\"")
                    {
                        await _jsRuntime.InvokeVoidAsync("alert", $"Invalid password.");
                        await AskForPassword(count + 1);
                    }
                    else
                    {
                        Password = res;
                    }
                }
            }
        }
Пример #6
0
        public Result ChangePwdGuestUser(User user, SpuContext spucontext)
        {
            try
            {
                var setup = spucontext.table_setup.FirstOrDefault();
                PrincipalContext context   = new PrincipalContext(ContextType.Domain, setup.Host, "ou=guest," + setup.Base, setup.Username, setup.Password);
                UserPrincipal    principal = UserPrincipal.FindByIdentity(context, IdentityType.SamAccountName, user.UserName);
                if (principal == null)
                {
                    return(new Result()
                    {
                        result = false, Message = "Account has not found"
                    });
                }
                principal.SetPassword(DataEncryptor.Decrypt(user.Password));
                principal.Save();

                return(new Result()
                {
                    result = true
                });
            }
            catch (Exception ex)
            {
                return(new Result()
                {
                    result = false, Message = ex.Message
                });
            }
        }
        private void SignInButtonClick(object sender, RoutedEventArgs e)
        {
            var login    = loginTextBox.Text;
            var password = passwordBox.Password;

            if (string.IsNullOrEmpty(login) || string.IsNullOrEmpty(password))
            {
                MessageBox.Show("Please fill in all fields");
                return;
            }

            using (var context = new SecurityContext())
            {
                var user = context
                           .Users
                           .FirstOrDefault(searchingUser => searchingUser.Login == login);

                if (user != null && DataEncryptor.IsValidPassword(password, user.Password))
                {
                    MessageBox.Show("Welcome!");
                }
                else
                {
                    MessageBox.Show("Go away!");
                }
            }
        }
Пример #8
0
        private void SignInButtonClick(object sender, RoutedEventArgs e)
        {
            var login    = signInLoginTextBox.Text;
            var password = signInPasswordBox.Password;

            if (string.IsNullOrEmpty(login) || string.IsNullOrEmpty(password))
            {
                MessageBox.Show("Заполните все поля");
                return;
            }

            using (var context = new UserContext())
            {
                var user = context.Users.FirstOrDefault(searchingUser => searchingUser.Login == login);

                if (user != null && DataEncryptor.IsValidPassword(password, user.Password))
                {
                    MessageBox.Show("Добро пожаловать");
                }
                else
                {
                    MessageBox.Show("Пшёл вон");
                }
            }
        }
Пример #9
0
        private void changePassBtn_Click(object sender, RoutedEventArgs e)
        {
            warning.Text       = string.Empty;
            warning.Visibility = Visibility.Collapsed;

            if (!OldPassword.PasswordText.Equals(string.Empty) &&
                !NewPassword.PasswordText.Equals(string.Empty) &&
                !ConfirmPassword.PasswordText.Equals(string.Empty))
            {
                string plainPwd = DataEncryptor.Decrypt(viewModel.CurrentAppUser.CurrentPassword);
                if (!NewPassword.PasswordText.Equals(ConfirmPassword.PasswordText))
                {
                    ShowMessage("New password doesn't match the confirmation. Please re-enter password.");
                }
                else if (!OldPassword.PasswordText.Equals(plainPwd))
                {
                    ShowMessage("Old password doesn't match the current password. Please re-enter password.");
                }
                else if (NewPassword.PasswordText.Equals(plainPwd))
                {
                    ShowMessage("Old password is the same with new password. Please re-enter new and unique password.");
                }
                else
                {
                    viewModel.CommandParameter = NewPassword.PasswordText;
                    this.changePassBtn.SetBinding(Button.CommandProperty, new Binding("ChangeUserPasswordCommand"));
                }
            }
            else
            {
                ShowMessage("Please fill up the empty fields.");
            }
        }
Пример #10
0
        public static BaseEncryptor GetEncryptor(Encryptor encryptor)
        {
            BaseEncryptor cryptoProvider = null;

            if (encryptor == Encryptor.Aes)
            {
                if (rijndaelEncryptor == null)
                {
                    rijndaelEncryptor = new RijndaelEncryptor();
                }
                cryptoProvider = rijndaelEncryptor;
            }

            if (encryptor == Encryptor.Des)
            {
                if (dataEncryptor == null)
                {
                    dataEncryptor = new DataEncryptor();
                }
                cryptoProvider = dataEncryptor;
            }

            if (encryptor == Encryptor.Hash)
            {
                if (hashEncryptor == null)
                {
                    hashEncryptor = new HashEncryptor();
                }
                cryptoProvider = hashEncryptor;
            }

            return(cryptoProvider);
        }
Пример #11
0
    void Update()
    {
        if (!Input.gyro.enabled)
        {
            return;
        }

        Click = _checkLimits(Input.GetMouseButton(0));

        string toSend =
            "hand=" + (dominantHand == DominantHandType.Right ? "Right" : "Left") + "/"
            + "click=" + Click + "/"
            + "r.x=" + gameObject.transform.rotation.x + "/"
            + "r.y=" + gameObject.transform.rotation.y + "/"
            + "r.z=" + gameObject.transform.rotation.z + "/"
            + "r.w=" + gameObject.transform.rotation.w;

        toSend.Replace(",", ".");
        toSend = DataEncryptor.Encrypt(toSend, EncriptKey);

        if (!ShowConfig)
        {
            _udp.send(toSend);
        }
    }
Пример #12
0
        public IActionResult Update(int?id)
        {
            if (!_loginServices.isInAdminRoles(this.GetRoles()))
            {
                return(RedirectToAction("Login", "Accounts"));
            }
            var model = this._context.Merchants
                        .Include(i => i.User)
                        .Where(w => w.MerchantID == id).FirstOrDefault();

            if (model == null)
            {
                return(RedirectToAction("Index"));
            }

            if (model.User != null)
            {
                model.UserName = model.User.UserName;
                model.Password = DataEncryptor.Decrypt(model.User.Password);
            }

            ViewBag.ListType      = this._context.MerchantCategories.Where(w => w.Status == StatusType.Active).OrderBy(o => o.Index);
            ViewBag.ListProvinces = this._context.Provinces.OrderBy(b => b.ProvinceName);
            return(View("MerchantInfo", model));
        }
Пример #13
0
 public Multiplexor(ILoggerProvider loggerProvider, MessageEncoder mEncoder, DataCache dataCache, DataEncryptor dEncoder)
 {
     this.mEncoder  = mEncoder;
     this.dataCache = dataCache;
     this.dEncoder  = dEncoder;
     log            = loggerProvider.CreateLogger("Multiplexor");
 }
Пример #14
0
        public object update([FromBody] JsonElement json)
        {
            var model = JsonConvert.DeserializeObject <UserDTO>(json.GetRawText());

            if (model == null)
            {
                return(CreatedAtAction(nameof(update), new { result = ResultCode.InputHasNotFound, message = ResultMessage.InputHasNotFound }));
            }

            var dupid = _context.Students.Where(w => w.IDCard == model.idcard & w.ID != model.id).FirstOrDefault();

            if (dupid != null)
            {
                return(CreatedAtAction(nameof(insert), new { result = ResultCode.DuplicateData, message = "เลขประจำตัวประชาชนซ้ำ" }));
            }

            var dupscode = _context.Students.Where(w => w.StudentCode == model.studentcode & w.ID != model.id).FirstOrDefault();

            if (dupscode != null)
            {
                return(CreatedAtAction(nameof(insert), new { result = ResultCode.DuplicateData, message = "รหัสนักศึกษาซ้ำ" }));
            }

            var student = _context.Students.Where(w => w.ID == model.id).FirstOrDefault();

            if (student != null)
            {
                if (student.IDCard != model.idcard)
                {
                    var user = _context.Users.Where(w => w.ID == student.UserID).FirstOrDefault();
                    if (user != null)
                    {
                        user.UserName        = model.idcard;
                        user.Password        = DataEncryptor.Encrypt(model.idcard);
                        user.ConfirmPassword = DataEncryptor.Encrypt(model.idcard);
                        user.Update_On       = DateUtil.Now();
                        user.Update_By       = model.update_by;
                    }
                }
                student.Update_On   = DateUtil.Now();
                student.Update_By   = model.update_by;
                student.Status      = model.status.toStatus();
                student.Prefix      = model.prefix.toPrefix();
                student.Address     = model.address;
                student.FirstName   = model.firstname;
                student.LastName    = model.lastname;
                student.FirstNameEn = model.firstnameen;
                student.LastNameEn  = model.lastnameen;
                student.IDCard      = model.idcard;
                student.StudentCode = model.studentcode;
                student.Phone       = model.phone;
                student.Email       = model.email;
                student.FacultyID   = model.faculty;
                student.Course      = model.course.toCourse();
                _context.SaveChanges();
                return(CreatedAtAction(nameof(update), new { result = ResultCode.Success, message = ResultMessage.Success }));
            }
            return(CreatedAtAction(nameof(update), new { result = ResultCode.InvalidInput, message = ResultMessage.InvalidInput }));
        }
Пример #15
0
        public static ÄstrandTest GetAstrandTestData(string filename)
        {
            lock (filename)
            {
                if (File.Exists(testsFolderPath + @"/" + filename + ".json"))
                {
                    string fileContent = DataEncryptor.Decrypt(File.ReadAllText(testsFolderPath + @"/" + filename + ".json"), DataEncryptor.FileKey);

                    if (!String.IsNullOrEmpty(fileContent))
                    {
                        try
                        {
                            ÄstrandTest astrandTest = new ÄstrandTest();

                            JObject historydataJson = JObject.Parse(fileContent);

                            JObject personalData = historydataJson.GetValue("personaldata").ToObject <JObject>();
                            astrandTest.Username  = personalData.GetValue("name").ToString();
                            astrandTest.BirthYear = int.Parse(personalData.GetValue("birthyear").ToString());
                            astrandTest.Weight    = int.Parse(personalData.GetValue("weight").ToString());
                            astrandTest.IsMan     = (personalData.GetValue("gender").ToString() == "man") ? true : false;

                            JObject testResultData = historydataJson.GetValue("testresult").ToObject <JObject>();
                            astrandTest.HasSteadyState = testResultData.GetValue("hassteadystate").ToObject <bool>();
                            astrandTest.VO2            = double.Parse(testResultData.GetValue("vo2").ToString());

                            JArray heartratesJson   = historydataJson.GetValue("heartrates").ToObject <JArray>();
                            JArray distancesJson    = historydataJson.GetValue("distances").ToObject <JArray>();
                            JArray speedsJson       = historydataJson.GetValue("speeds").ToObject <JArray>();
                            JArray cycleRhythmsJson = historydataJson.GetValue("cyclerhythms").ToObject <JArray>();

                            foreach (JObject heartrateJson in heartratesJson)
                            {
                                astrandTest.HeartrateValues.Add((int.Parse(heartrateJson.GetValue("heartrate").ToString()), DateTime.Parse(heartrateJson.GetValue("time").ToString())));
                            }

                            foreach (JObject distanceJson in distancesJson)
                            {
                                astrandTest.DistanceValues.Add((int.Parse(distanceJson.GetValue("distance").ToString()), DateTime.Parse(distanceJson.GetValue("time").ToString())));
                            }

                            foreach (JObject speedJson in speedsJson)
                            {
                                astrandTest.SpeedValues.Add((int.Parse(speedJson.GetValue("speed").ToString()), DateTime.Parse(speedJson.GetValue("time").ToString())));
                            }

                            foreach (JObject cycleRhythmJson in cycleRhythmsJson)
                            {
                                astrandTest.CycleRhythmValues.Add((int.Parse(cycleRhythmJson.GetValue("cyclerhythm").ToString()), DateTime.Parse(cycleRhythmJson.GetValue("time").ToString())));
                            }

                            return(astrandTest);
                        }
                        catch (Exception e) { }
                    }
                }
                return(null);
            }
        }
 protected override void Seed(SecurityContext context)
 {
     context.Users.Add(new Models.User
     {
         Login    = "******",
         Password = DataEncryptor.HashPassword("123")
     });
 }
        public ScenariosRepository()
        {
            _encryptor   = Singleton.Resolve <DataEncryptor>();
            _dataManager = Singleton.Resolve <DataManagerBase>();
            _log         = Singleton.Resolve <ILogger>();

            _encryptor.SecretKeyChanged += ScenariosRepository_SecretKeyChanged;
        }
    public static string EncryptString(string plain, out string key, out string iv)
    {
        var crypto = new DataEncryptor();

        iv  = Convert.ToBase64String(crypto.IV);
        key = Convert.ToBase64String(crypto.Key);
        return(crypto.EncryptString(plain));
    }
    public static string DecryptString(string cipher, string key, string iv)
    {
        var crypto = new DataEncryptor(
            Convert.FromBase64String(key),
            Convert.FromBase64String(iv));

        return(crypto.DecryptString(cipher));
    }
        /// <summary>
        /// Initializes the <see cref="SecurePlayerPrefsBase"/> by getting the base player pref value.
        /// </summary>
        /// <param name="prefSettings"> The Settings for the SecurePlayerPrefs. </param>
        protected SecurePlayerPrefsBase(SecurePlayerPrefsSettings prefSettings)
        {
            hashedSeed    = prefSettings.securePlayerPrefSeed.Blake2_512();
            hashedEntropy = prefSettings.securePlayerPrefDataEntropy.Blake2_512();

            dataEncryptor = new DataEncryptor(hashedEntropy, GetSeedName(), RandomBytes.Secure.SHA3.GetBytes(GetSeedName(), 64).GetBase64String());

            EnsureSeedCreation();
        }
Пример #21
0
        private byte[] GetImageBytes(string encryptedFileName)
        {
            var filePath             = baseFilePath + encryptedFileName;
            var encryptedFileContent = File.ReadAllText(filePath);                          // base64 encrypted string
            var decryptedContent     = DataEncryptor.DecryptWithSalt(encryptedFileContent); // base64 decrypted string

            byte[] imageBytes = Convert.FromBase64String(decryptedContent);

            return(imageBytes);
        }
    public void recv(IAsyncResult res)
    {
        IPEndPoint ep = new IPEndPoint(IPAddress.Any, _port);

        byte[] received = _client.EndReceive(res, ref ep);

        _receiving = true;
        Message.Update(DataEncryptor.Decrypt(Encoding.UTF8.GetString(received), _decryptKey));

        _client.BeginReceive(new AsyncCallback(recv), null);
    }
Пример #23
0
 protected override void Seed(SecurityContext context)
 {
     context.Users.Add(new Models.User
     {
         Login    = "******",
         Name     = "Ben",
         Password = DataEncryptor.HashPassword("Qwerty@99"),
         Email    = "*****@*****.**",
         Phone    = "+77011012030"
     });
 }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            using (var context = new SecurityContext())
            {
                context.Users.Add(new Models.User
                {
                    Login    = loginTextBox.Text,
                    Password = DataEncryptor.HashPassword(passordBox.Password)
                });

                MessageBox.Show("Вы зарегестрированы!");
            }
        }
        public override async Task Set <T>(string key, T value)
        {
            await AskForPassword();

            if (value.Equals(default(T)))
            {
                await base.Set($"{KeyPrefix}{key}", value);
            }
            else
            {
                await SetRaw($"{KeyPrefix}{key}", DataEncryptor.Encrypt(JsonSerializer.Serialize(value), Password));
            }
        }
Пример #26
0
        public void EncryptionTest()
        {
            //Declare
            string data = "testString123";

            //Action
            string protectedData   = DataEncryptor.Encrypt(data);
            string unprotectedData = DataEncryptor.Decrypt(protectedData);

            //Assert
            Assert.AreEqual(data, unprotectedData);
            Assert.AreNotEqual(data, protectedData);
        }
Пример #27
0
        private void AuthorizationButtonClick(object sender, RoutedEventArgs e)
        {
            var login    = loginTextBox.Text;
            var password = passwordTextBox.Text;

            if (string.IsNullOrEmpty(login) || string.IsNullOrEmpty(password) ||
                string.IsNullOrWhiteSpace(login) || string.IsNullOrWhiteSpace(password))
            {
                MessageBox.Show("Заполните все поля");
                return;
            }

            int choice = 0;

            using (var context = new UsersContext())
            {
                List <User> users = context.Users.ToList();
                foreach (var u in users)
                {
                    if (u.Login == login)
                    {
                        user = u;
                        ++choice;
                        break;
                    }
                }

                if (choice == 0)
                {
                    MessageBox.Show("Зарегистрируйтесь, такой логин в базе отсутствует");
                }

                else
                {
                    if (DataEncryptor.IsValidPassword(password, user.Password))
                    {
                        MessageBox.Show("Добро пожаловать в систему!");
                        Close();
                    }

                    else
                    {
                        MessageBox.Show("Не верно введен пароль");
                        loginTextBox.Clear();
                        passwordTextBox.Clear();
                    }
                }
            }
        }
        public override async Task <T> Get <T>(string key)
        {
            await AskForPassword();

            var lsRes = await GetRaw($"{KeyPrefix}{key}");

            if (lsRes is null)
            {
                return(default(T));
            }

            var decrypted = DataEncryptor.Decrypt(lsRes, Password);

            return(JsonSerializer.Deserialize <T>(decrypted));
        }
Пример #29
0
        public IActionResult Modify(User model)
        {
            if (!_loginServices.isInAdminRoles(this.GetRoles()))
            {
                return(RedirectToAction("Login", "Accounts"));
            }

            if (this.isExistUserName(model))
            {
                ModelState.AddModelError("UserName", "รหัสผู้ใช้ซ้ำในระบบ");
            }

            if (ModelState.IsValid)
            {
                model.Update_On = DateUtil.Now();
                model.Update_By = this.HttpContext.User.Identity.Name;
                if (model.ID <= 0)
                {
                    model.Password  = DataEncryptor.Encrypt(model.Password);
                    model.Create_On = DateUtil.Now();
                    model.Create_By = this.HttpContext.User.Identity.Name;

                    this._context.Users.Add(model);
                    this._context.SaveChanges();
                }
                else
                {
                    this._context.Users.Attach(model);
                    this._context.Entry(model).Property(u => u.Email).IsModified       = true;
                    this._context.Entry(model).Property(u => u.PhoneNumber).IsModified = true;
                    this._context.Entry(model).Property(u => u.FirstName).IsModified   = true;
                    this._context.Entry(model).Property(u => u.LastName).IsModified    = true;
                    this._context.Entry(model).Property(u => u.Status).IsModified      = true;
                    this._context.Entry(model).Property(u => u.UserName).IsModified    = true;
                    this._context.Entry(model).Property(u => u.UserRoleID).IsModified  = true;
                    this._context.Entry(model).Property(u => u.Update_By).IsModified   = true;
                    this._context.Entry(model).Property(u => u.Update_On).IsModified   = true;

                    this._context.SaveChanges();
                }
                return(RedirectToAction("Index"));
            }
            ViewBag.Roles     = this._context.UserRoles.OrderBy(r => r.UserRoleID);
            ViewBag.UserRoles = this._context.UserRoles.Where(w => w.Status == StatusType.Active).OrderBy(r => r.UserRoleID);
            return(View("UserInfo", model));
        }
Пример #30
0
        public static bool CheckAuthorization(string username, string password, bool isSpecialist, string cryptoKey)
        {
            if (File.Exists(filesFolderPath + @"/Authentifications.json"))
            {
                string fileContent = DataEncryptor.Decrypt(File.ReadAllText(filesFolderPath + @"/Authentifications.json"), cryptoKey);

                if (!String.IsNullOrEmpty(fileContent))
                {
                    JObject json = JObject.Parse(fileContent);
                    JArray  authentifications = json.GetValue("authentifications").ToObject <JArray>();

                    foreach (JToken authToken in authentifications)
                    {
                        JObject authentification = authToken.ToObject <JObject>();

                        string usernameAuth = authentification.GetValue("username").ToString();
                        string passwordAuth = authentification.GetValue("password").ToString();

                        if (username == usernameAuth && password == passwordAuth)
                        {
                            JToken birthYear = "";
                            authentification.TryGetValue("birthyear", out birthYear);

                            if (!isSpecialist)
                            {
                                if (birthYear == null)
                                {
                                    return(false);
                                }
                            }
                            else
                            {
                                if (birthYear != null)
                                {
                                    return(false);
                                }
                            }

                            return(true);
                        }
                    }
                }
            }
            return(false);
        }