예제 #1
0
        //---------------------------------

        //GET => Admins/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            //Current page
            ViewBag.Current = "Manage";

            if (id == null)
            {
                return(NotFound());
            }

            //Get administrator
            var admin = await GetAdmin(id);

            if (admin == null)
            {
                return(NotFound());
            }

            //Decrypt password
            admin.Password = encryption.Decrypt(admin.Password);

            return(View(admin));
        }
예제 #2
0
        private static string GetPassword(Assembly assembly, string fullPath)
        {
            using (Stream fileStream = assembly.GetManifestResourceStream(fullPath))
            {
                string result = "";

                if (fileStream == null)
                {
                    Logger.LogActivity("Password file resource not found (Expected: {0})", fullPath);
                }
                else
                {
                    StreamReader fileStreamReader = new StreamReader(fileStream);
                    string       line             = fileStreamReader.ReadLine();
                    result = PasswordEncrypter.Decrypt(line);
                }

                return(result);
            }
        }
예제 #3
0
        //Create new login for debtor
        private async Task CreateLogin(Debtor debtor)
        {
            try {
                User user = new User();
                user.Debtor   = debtor;
                user.Email    = debtor.Email;
                user.Password = debtor.FirstName + "_" + DateTime.Now.ToString("ddMMHH");

                //Encrypt password
                string hash = encryption.Encrypt(user.Password);
                user.Password = hash;

                _context.Users.Add(user);
                await _context.SaveChangesAsync();

                //Send email with username and password
                AuthMessageSender email = new AuthMessageSender(_settings);
                await email.SendLoginEmailAsync(user.Email, encryption.Decrypt(user.Password));
            } catch (Exception ex) {
                Debug.WriteLine(ex);
            }
        }
예제 #4
0
        //---------------------------------

        //GET => Users/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            //Current page
            ViewBag.Current = "Users";

            if (id == null)
            {
                return(NotFound());
            }

            //Get user
            var user = await GetUser(id);

            if (user == null)
            {
                return(NotFound());
            }

            //Decrypt password
            user.Password = encryption.Decrypt(user.Password);

            return(View(user));
        }
예제 #5
0
        public async Task <User> AuthenticateAsync(AuthenticationUser authUser)
        {
            if (String.IsNullOrWhiteSpace(authUser.Login) || String.IsNullOrWhiteSpace(authUser.Password))
            {
                throw new ArgumentException("Login or Password is Empty");
            }
            var users = await _storage.GetAllAsync();

            // user`s pswd
            var dbUser = users.FirstOrDefault(user => user.Login == authUser.Login && PasswordEncrypter.Decrypt(user.Password) == authUser.Password);

            if (dbUser == null)
            {
                throw new Exception("Wrong Login or Password");
            }
            LoginedUser.User = dbUser;
            return(new User(dbUser.Guid, dbUser.FirstName, dbUser.LastName, dbUser.Email, dbUser.Login));
        }