Ejemplo n.º 1
0
        public string encryptPassword(User user, MyUsersDBEntities db)
        {
            string salt           = CreateSalt(10);
            string hashedPassword = CreateHash(user.Hash, salt, user);

            return(hashedPassword);
        }
Ejemplo n.º 2
0
        public loggedInUser PostDataForLoggedInUser(User user, MyUsersDBEntities db, LoggedInUserDBEntities loggedInUserDb)
        {
            var loggedInUserToReturn = new loggedInUser();

            List <loggedInUser> loggedInUsersList = new List <loggedInUser>();

            loggedInUsersList = loggedInUserDb.loggedInUsers.ToList();

            if (loggedInUsersList.Count <= 0)
            {
                loggedInUserToReturn = new loggedInUser();

                loggedInUserToReturn.loggedInUserId = user.Id;
                loggedInUserToReturn.UserName       = user.Username;
                loggedInUserToReturn.Hash           = DateTime.Now.ToString();
                loggedInUserToReturn.IsLoggedIn     = user.isLoggedIn;
            }
            else
            {
                foreach (var loggedInUser in loggedInUserDb.loggedInUsers)
                {
                    loggedInUser.UserName     = user.Username;
                    loggedInUser.IsLoggedIn   = user.isLoggedIn;
                    loggedInUserToReturn.Hash = DateTime.Now.ToString();
                    loggedInUserToReturn      = loggedInUser;
                }
            }

            loggedInUserDb.Set <loggedInUser>().AddOrUpdate(loggedInUserToReturn);

            loggedInUserDb.SaveChanges();
            return(loggedInUserToReturn);
        }
Ejemplo n.º 3
0
        public User UpsertWebContent(User user, MyUsersDBEntities db)
        {
            //If user is logging on after already being registered and already has a set Id, this will encrypt password, and post isLoggedIn to be true



            using (db)
            {
                if (user.Id == default(int))
                {
                    db.Users.Add(user);
                }
                //else
                //{
                //    db.Entry(user).State = EntityState.Modified;
                //}

                // encryptPassword(user, db);

                try
                {
                    db.SaveChanges();
                }
                catch (DbEntityValidationException e)
                {
                    var newException = new FormattedDbEntityValidationException(e);
                    throw newException;
                }


                return(user);
            }
        }
Ejemplo n.º 4
0
        public User PostDataOnLogin(User user, MyUsersDBEntities db)
        {
            foreach (var u in db.Users.Where(x => x.Username == user.Username && x.Hash == user.Hash))
            {
                if (u.Username == user.Username && u.Hash == user.Hash)
                {
                    user.Username     = u.Username;
                    user.EmailAddress = u.EmailAddress;
                    user.Hash         = u.Hash;
                    user.Id           = u.Id;
                    user.FirstName    = u.FirstName;
                    user.LastName     = u.LastName;
                    user.Organization = u.Organization;
                    user.Salt         = u.Salt;
                    u.isLoggedIn      = true;
                    user.isLoggedIn   = u.isLoggedIn;
                    user.Token        = "test";


                    //encryptPassword(user, db);

                    // db.Entry(user).State = EntityState.Modified;

                    db.Set <User>().AddOrUpdate(user);
                }
            }
            db.SaveChanges();
            return(user);
        }
Ejemplo n.º 5
0
        public User PostDataOnLogin(User user, MyUsersDBEntities db)
        {
            var a = db.Users;

            UserService userService = new UserService();

            foreach (var u in db.Users.Where(x => x.Username == user.Username && x.Hash == user.Hash))
            {
                if (u.Username == user.Username && u.Hash == user.Hash)
                {
                    user.Username     = u.Username;
                    user.EmailAddress = u.EmailAddress;

                    if (user.isPasswordHashed == true)
                    {
                        var password = user.Hash;
                        var salt     = u.Salt;
                        var hash     = u.Hash;
                    }
                    else
                    {
                        user.Hash = userService.encryptPassword(u, db);
                    }


                    user.FirstName        = u.FirstName;
                    user.isPasswordHashed = true;
                    user.Id           = u.Id;
                    user.LastName     = u.LastName;
                    user.Organization = u.Organization;
                    user.Salt         = u.Salt;
                    u.isLoggedIn      = true;
                    user.isLoggedIn   = u.isLoggedIn;
                    user.Token        = u.Token;
                    user.timeLoggedIn = DateTime.Now;



                    db.Set <User>().AddOrUpdate(user);
                }
            }
            db.SaveChanges();
            return(user);
        }
        public User PostDataOnLogout(User user, MyUsersDBEntities db)
        {
            UserService userService = new UserService();

            foreach (var u in db.Users.Where(x => x.Username == user.Username))
            {
                user.EmailAddress     = u.EmailAddress;
                user.isPasswordHashed = true;
                user.Id            = u.Id;
                user.FirstName     = u.FirstName;
                user.LastName      = u.LastName;
                user.Organization  = u.Organization;
                user.Salt          = u.Salt;
                user.Hash          = u.Hash;
                user.isLoggedIn    = false;
                user.Token         = "test";
                user.timeLoggedOut = DateTime.Now;


                db.Set <User>().AddOrUpdate(user);
            }
            db.SaveChanges();
            return(user);
        }
Ejemplo n.º 7
0
 public UserService(MyUsersDBEntities context)
 {
     _context = context;
 }
Ejemplo n.º 8
0
        public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
        {
            UserService       userservice = new UserService();
            MyUsersDBEntities userDb      = new MyUsersDBEntities();
            var    identity        = new ClaimsIdentity(context.Options.AuthenticationType);
            string contextPassword = "";

            using (var db = new MyUsersDBEntities())
            {
                var user = db.Users.ToList();

                if (user != null)
                {
                    foreach (var u in db.Users.Where(x => x.isPasswordHashed == true && x.Username == context.UserName))
                    {
                        LoginService loginService = new LoginService();

                        contextPassword = context.Password.ToString();


                        contextPassword = loginService.reEncryptPassword(contextPassword, u.Salt, u.Hash, u);

                        if (!string.IsNullOrEmpty(user.Where(x => x.Username == context.UserName && x.Hash == contextPassword).FirstOrDefault().Username))
                        {
                            var currentUser = user.Where(x => x.Username == context.UserName && x.Hash == contextPassword).FirstOrDefault();



                            identity.AddClaim(new Claim("UserName", currentUser.Username));
                            identity.AddClaim(new Claim("Id", Convert.ToString(currentUser.Id)));

                            var props = new AuthenticationProperties(new Dictionary <string, string>
                            {
                                {
                                    "Username", context.UserName
                                },
                            });

                            var ticket = new AuthenticationTicket(identity, props);
                            context.Validated(ticket);
                        }
                        else
                        {
                            context.SetError("invalid_grant", "Provided username and password is not matching, Please retry.");
                            context.Rejected();
                        }
                    }

                    foreach (var u in db.Users.Where(x => x.isPasswordHashed == null && x.Username == context.UserName))
                    {
                        contextPassword = context.Password;


                        if (!string.IsNullOrEmpty(user.Where(x => x.Username == context.UserName && x.Hash == contextPassword).FirstOrDefault().Username))
                        {
                            var currentUser = user.Where(x => x.Username == context.UserName && x.Hash == contextPassword).FirstOrDefault();



                            identity.AddClaim(new Claim("UserName", currentUser.Username));
                            identity.AddClaim(new Claim("Id", Convert.ToString(currentUser.Id)));

                            var props = new AuthenticationProperties(new Dictionary <string, string>
                            {
                                {
                                    "Username", context.UserName
                                },
                            });

                            var ticket = new AuthenticationTicket(identity, props);
                            context.Validated(ticket);
                        }
                        else
                        {
                            context.SetError("invalid_grant", "Provided username and password is not matching, Please retry.");
                            context.Rejected();
                        }
                    }
                }
                else
                {
                    context.SetError("invalid_grant", "Provided username and password is not matching, Please retry.");
                    context.Rejected();
                }
                return;
            }
        }
 public LogoutService(MyUsersDBEntities context)
 {
     _context = context;
 }
Ejemplo n.º 10
0
 public loggedInUser PostDataForCurrentUserOnLogin(loggedInUser user, LoggedInUserDBEntities db, MyUsersDBEntities userDb)
 {
     db.SaveChanges();
     return(user);
 }