public async Task <User> Login([FromBody] User User)
        {
            User user = new Models.User {
                Username = User.Username, IsAuthenticated = false
            };

            if (ModelState.IsValid)
            {
                IdentityUser identityuser = await identityUserManager.FindByNameAsync(User.Username);

                if (identityuser != null)
                {
                    var result = await identitySignInManager.CheckPasswordSignInAsync(identityuser, User.Password, false);

                    if (result.Succeeded)
                    {
                        user = users.GetUser(identityuser.UserName);
                        if (user != null)
                        {
                            SiteUser siteuser = siteusers.GetSiteUsers(User.SiteId, user.UserId).FirstOrDefault();
                            if (siteuser.IsAuthorized)
                            {
                                await identitySignInManager.SignInAsync(identityuser, User.IsPersistent);

                                user.IsAuthenticated = true;
                            }
                        }
                    }
                }
            }

            return(user);
        }
예제 #2
0
        public IEnumerable <User> Get(string siteid)
        {
            List <User>            users     = new List <User>();
            IEnumerable <SiteUser> siteusers = SiteUsers.GetSiteUsers(int.Parse(siteid));

            foreach (SiteUser siteuser in siteusers)
            {
                User user = siteuser.User;
                user.SiteId = siteuser.SiteId;
                users.Add(user);
            }
            return(users);
        }