Example #1
0
        public IHttpActionResult Get()
        {
            SecurityEntities db = new SecurityEntities();
            var providers = db.ProviderAccounts.Select(p => new { username = p.Account.AspNetUser.UserName, p.provider }).ToList();

            JArray stoArray = (JArray)JToken.FromObject(providers);
            dynamic obj = new JObject();
            obj.providerInfo = stoArray;

            if (obj == null)
            {
                return NotFound();
            }
            return Ok(obj);
        }
Example #2
0
        public UserAccountVM GetOne(string accountId)
        {
            SecurityEntities context = new SecurityEntities();

            var query = context.Accounts.Select(account => new UserAccountVM
            {
                AccountId = account.accountID,
                FirstName = account.firstname,
                LastName = account.lastname,
                Email = account.AspNetUser.Email,
                Password = account.AspNetUser.PasswordHash,
                Username = account.AspNetUser.UserName
            }).Where(account => account.AccountId == accountId).FirstOrDefault();

            return query;
        }
Example #3
0
        public IEnumerable<UserAccountVM> GetAll()
        {
            SecurityEntities context = new SecurityEntities();

            var query = context.Accounts.Select(account => new UserAccountVM
            {
                AccountId = account.accountID,
                FirstName = account.firstname,
                LastName = account.lastname,
                Email = account.AspNetUser.Email,
                Password = account.AspNetUser.PasswordHash,
                Username = account.AspNetUser.UserName
            }).ToList();

            return query;
        }
Example #4
0
 public bool CreateAccount(string firstName, string lastName, string accountId)
 {
     SecurityEntities context = new SecurityEntities();
     try
     {
         Account account = new Account();
         account.accountID = accountId;
         account.firstname = firstName;
         account.lastname = lastName;
         context.Accounts.Add(account);
         context.SaveChanges();
         return true;
     }
     catch
     {
         return false;
     }
 }
Example #5
0
        void Application_PostAuthenticateRequest()
        {
            if (User.Identity.IsAuthenticated)
            {
                var name = User.Identity.Name; // Get current user name.

                SecurityEntities context = new SecurityEntities();
                var user = context.AspNetUsers.Where(u => u.UserName == name).FirstOrDefault();
                IQueryable<string> roleQuery = from u in context.AspNetUsers
                                               from r in u.AspNetRoles
                                               where u.UserName == Context.User.Identity.Name
                                               select r.Name;
                string[] roles = roleQuery.ToArray();

                HttpContext.Current.User = Thread.CurrentPrincipal =
                                           new GenericPrincipal(User.Identity, roles);
            }
        }
Example #6
0
        public ActionResult Login(Login login)
        {
            UserStore<IdentityUser> userStore = new UserStore<IdentityUser>();
            UserManager<IdentityUser> manager = new UserManager<IdentityUser>(userStore);
            IdentityUser identityUser = manager.Find(login.UserName,
                                                             login.Password);

            if (ModelState.IsValid)
            {
                if (ValidLogin(login))
                {
                    IAuthenticationManager authenticationManager
                                           = HttpContext.GetOwinContext().Authentication;
                    authenticationManager
                   .SignOut(DefaultAuthenticationTypes.ExternalCookie);

                    var identity = new ClaimsIdentity(new[] {
                                            new Claim(ClaimTypes.Name, login.UserName),
                                        },
                                        DefaultAuthenticationTypes.ApplicationCookie,
                                        ClaimTypes.Name, ClaimTypes.Role);

                    authenticationManager.SignIn(new AuthenticationProperties
                    {
                        IsPersistent = false
                    }, identity);
                    System.Threading.Thread.Sleep(2000);


                    SecurityEntities context = new SecurityEntities();
                    var query = context.AspNetUsers.Where(u => u.Id == identityUser.Id).FirstOrDefault();

                    if (query.AspNetRoles.Single().Name == "admin")
                    {
                        return RedirectToAction("AdminDashboard", "Accounts");
                    }
                    else if (query.AspNetRoles.Single().Name == "consumer")
                    {
                        return RedirectToAction("ConsumerDashboard", "Accounts");
                    }
                }
            }
            return View();
        }
Example #7
0
        public ActionResult Register(RegisteredUser newUser)
        {
            // TAKING THE WRONG MODEL AS INPUT???
            var userStore = new UserStore<IdentityUser>();
            UserManager<IdentityUser> manager = new UserManager<IdentityUser>(userStore)
            {
                UserLockoutEnabledByDefault = true,
                DefaultAccountLockoutTimeSpan = new TimeSpan(0, 10, 0),
                MaxFailedAccessAttemptsBeforeLockout = 3
            };

            var identityUser = new IdentityUser()
            {
                UserName = newUser.UserName,
                Email = newUser.Email
            };

            // this threw an error, but it also worked so what gives???
            IdentityResult result = manager.Create(identityUser, newUser.Password);
            if (result.Succeeded)
            {
                CreateTokenProvider(manager, EMAIL_CONFIRMATION);
                // identityUser.Id use this to create an entry in our accounts table 
                var code = manager.GenerateEmailConfirmationToken(identityUser.Id);
                var callbackUrl = Url.Action("VerifiedEmail", "Accounts",
                                                new { userId = identityUser.Id, code = code },
                                                    protocol: Request.Url.Scheme);

                string email = "Please confirm your account by clicking this link: <a href=\""
                                + callbackUrl + "\">Confirm Registration</a>";


                ViewBag.FakeConfirmation = email;
                UserAccountVMRepo uaRepo = new UserAccountVMRepo();
                uaRepo.CreateAccount(newUser.FirstName, newUser.LastName, identityUser.Id);

                // CREATE WITH CONSUMER ROLE BY DEFAULT
                SecurityEntities context = new SecurityEntities();
                AspNetUser user = context.AspNetUsers
                                 .Where(u => u.UserName == newUser.UserName).FirstOrDefault();
                AspNetRole role = context.AspNetRoles
                                 .Where(r => r.Name == "consumer").FirstOrDefault();

                user.AspNetRoles.Add(role);
                context.SaveChanges();

                MailHelper mailer = new MailHelper();
                string response = mailer.EmailFromArvixe(
                                           new RegisteredUser(newUser.Email, newUser.Subject = "Confirm Email", newUser.Body = email));

                ViewBag.Response = response;
                return View("ConfirmEmail");
            }
            return View();
        }
Example #8
0
        public ActionResult AddUserToRole(string userName, string roleName)
        {
            SecurityEntities context = new SecurityEntities();
            AspNetUser user = context.AspNetUsers
                             .Where(u => u.UserName == userName).FirstOrDefault();
            AspNetRole role = context.AspNetRoles
                             .Where(r => r.Name == roleName).FirstOrDefault();

            user.AspNetRoles.Add(role);
            context.SaveChanges();
            return View();
        }
Example #9
0
 public ActionResult AddRole(AspNetRole role)
 {
     SecurityEntities context = new SecurityEntities();
     context.AspNetRoles.Add(role);
     context.SaveChanges();
     return View();
 }