public IDataResult <AccessToken> CreateAccessToken(UserR user)
        {
            var claims      = _userService.GetClaims(user);
            var accessToken = _tokenHelper.CreateToken(user, claims);

            return(new SuccessDataResult <AccessToken>(accessToken, Messages.AccessTokenCreated));
        }
Exemple #2
0
        public void Find(UserR node, List <User> informations)
        {
            List <indexResult> results = new List <indexResult>();
            var q = node.u.Where(x => x.parentId == "mulu所有数据").ToList();

            for (int i = 0; i < q.Count; i++)
            {
                bool isAllmulu = true;
                if (q[i].u.Where(x => x.u.Count == 0).ToList().Count > 0)
                {
                    isAllmulu = false;
                }
                if (isAllmulu)
                {
                    Find(q[i], informations, results, q[i].realId);
                }
                else
                {
                    results.Add(new indexResult {
                        label = q[i].realId, index = q[i].index
                    });
                }
            }
            for (int i = 0; i < results.Count; i++)
            {
                node.u.Find(x => x.realId == results[i].label).arryIndex = results[i].index;
            }
            node.u.Sort(delegate(UserR x, UserR y) { return(x.arryIndex.CompareTo(y.arryIndex)); });
        }
Exemple #3
0
 //打印查看结果
 static void Print(UserR ur)
 {
     Console.WriteLine(ur.name);
     if (ur.u != null)
     {
         foreach (var item in ur.u)
         {
             Print(item);
         }
     }
 }
Exemple #4
0
        private IEnumerable <Claim> SetClaims(UserR user, List <OperationClaim> operationClaims)
        {
            var claims = new List <Claim>();

            claims.AddNameIdentifier(user.Id.ToString());
            claims.AddEmail(user.Email);
            claims.AddName($"{user.FirstName} {user.LastName}");
            claims.AddRoles(operationClaims.Select(c => c.Name).ToArray());

            return(claims);
        }
Exemple #5
0
        public async Task UpdateUserAsync(int updateId, UserR newUser)
        {
            var entity = await _ctx.UserR.FirstOrDefaultAsync(u => u.Id == updateId);

            if (entity != null)
            {
                entity.FirstName      = newUser.FirstName;
                entity.LastName       = newUser.LastName;
                entity.Name           = newUser.Name;
                entity.UserPermission = newUser.UserPermission;
            }
        }
Exemple #6
0
        public void UpdateUser(int updatedId, UserR user)
        {
            var entity = _ctx.UserR.Find(updatedId);

            if (entity != null)
            {
                entity.FirstName      = user.FirstName;
                entity.LastName       = user.LastName;
                entity.Name           = user.Name;
                entity.UserPermission = user.UserPermission;
            }
        }
Exemple #7
0
 //查找排序
 public void Find(UserR node, List <User> informations, List <indexResult> results, string label)
 {
     if (node.u.Count == 0)
     {
         indexResult result = new indexResult();
         result.label = label;
         result.index = informations.Find(a => a.id == node.parentId && a.type == "mulu").index;
         results.Add(result);
     }
     else
     {
         Find(node.u[0], informations, results, label);
     }
 }
Exemple #8
0
        public JwtSecurityToken CreateJwtSecurityToken(TokenOptions tokenOptions, UserR user,
                                                       SigningCredentials signingCredentials, List <OperationClaim> operationClaims)
        {
            var jwt = new JwtSecurityToken(
                issuer: tokenOptions.Issuer,
                audience: tokenOptions.Audience,
                expires: _accessTokenExpiration,
                notBefore: DateTime.Now,
                claims: SetClaims(user, operationClaims),
                signingCredentials: signingCredentials
                );

            return(jwt);
        }
Exemple #9
0
        public AccessToken CreateToken(UserR user, List <OperationClaim> operationClaims)
        {
            _accessTokenExpiration = DateTime.Now.AddMinutes(_tokenOptions.AccessTokenExpiration);
            var securityKey        = SecurityKeyHelper.CreateSecurityKey(_tokenOptions.SecurityKey);
            var signingCredentials = SigningCredentialsHelper.CreateSigningCredentials(securityKey);
            var jwt = CreateJwtSecurityToken(_tokenOptions, user, signingCredentials, operationClaims);
            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
            var token = jwtSecurityTokenHandler.WriteToken(jwt);

            return(new AccessToken
            {
                Token = token,
                Expiration = _accessTokenExpiration
            });
        }
        public IDataResult <UserR> Register(UserForRegisterDto userForRegisterDto, string password)
        {
            byte[] passwordHash, passwordSalt;
            HashingHelper.CreatePasswordHash(password, out passwordHash, out passwordSalt);
            var user = new UserR
            {
                Email        = userForRegisterDto.Email,
                FirstName    = userForRegisterDto.FirstName,
                LastName     = userForRegisterDto.LastName,
                PasswordHash = passwordHash,
                PasswordSalt = passwordSalt,
                Status       = true
            };

            _userService.Add(user);
            return(new SuccessDataResult <UserR>(user, Messages.UserRegistered));
        }
Exemple #11
0
        //递归遍历
        public void Create(UserR node, string id)
        {
            var q = list.Where(x => x.parentId == id).ToList();

            if (id == "mulu所有数据")                                  // id = "mulu所有数据" 是根节点
            {
                for (int i = 0; i < q.Count; i++)
                {
                    UserR nd = new UserR();
                    nd.id         = q[i].id;
                    nd.name       = q[i].name;
                    nd.realId     = q[i].realId;
                    nd.type       = q[i].type;
                    nd.url        = q[i].url;
                    nd.index      = q[i].index;
                    nd.classLabel = q[i].classLabel;
                    nd.parentId   = q[i].parentId;
                    Create(nd, q[i].id);
                    ur.u.Add(nd);
                }
            }
            else
            {
                for (int i = 0; i < q.Count; i++)
                {
                    UserR Tnode = new UserR();
                    Tnode.id         = q[i].id;
                    Tnode.name       = q[i].name;
                    Tnode.realId     = q[i].realId;
                    Tnode.type       = q[i].type;
                    Tnode.url        = q[i].url;
                    Tnode.index      = q[i].index;
                    Tnode.classLabel = q[i].classLabel;
                    Tnode.parentId   = q[i].parentId;
                    Create(Tnode, q[i].id);
                    node.u.Add(Tnode);
                }
            }
        }
Exemple #12
0
 public void Add(UserR user)
 {
     _userDal.Add(user);
 }
Exemple #13
0
 public List <OperationClaim> GetClaims(UserR user)
 {
     return(_userDal.GetClaims(user));
 }
Exemple #14
0
 public void DeleteUser(UserR user)
 {
     _ctx.UserR.Remove(user);
 }
Exemple #15
0
 public void CreateUser(UserR user)
 {
     _ctx.UserR.Add(user);
 }
Exemple #16
0
        public bool Register([FromBody] UserR k)
        {
            string ss  = System.Web.Hosting.HostingEnvironment.MapPath("~/App_Data/Users.xml");
            string adm = System.Web.Hosting.HostingEnvironment.MapPath("~/App_Data/Admins.xml");
            string drv = System.Web.Hosting.HostingEnvironment.MapPath("~/App_Data/Drivers.xml");

            List <Customer>   users   = xml.ReadUsers(ss);
            List <Dispatcher> admins  = xml.ReadDispatcher(adm);
            List <Driver>     drivers = xml.ReadDrivers(drv);

            bool g = true;

            foreach (Customer u in users)
            {
                if (u.UserName == k.Username)
                {
                    g = false;
                }
            }

            foreach (Dispatcher ad in admins)
            {
                if (ad.UserName == k.Username)
                {
                    g = false;
                }
            }

            foreach (Driver dr in drivers)
            {
                if (dr.UserName == k.Username)
                {
                    g = false;
                }
            }

            if (g)
            {
                Customer user = new Customer();
                user.UserName = k.Username;
                user.Password = k.Password;
                user.Name     = k.Ime;
                user.Surname  = k.Prezime;
                if (k.Pol == "Female")
                {
                    user.Gender = Enums.GenederType.Female;
                }
                else
                {
                    user.Gender = Enums.GenederType.Male;
                }
                user.JMBG = Int64.Parse(k.Jmbg);
                user.ContactPhoneNumber = k.Telefon;
                user.Email = k.Email;
                user.Role  = Enums.RoleType.Customer;

                users.Add(user);
                xml.WriteUsers(users, ss);

                return(true);
            }
            else
            {
                return(false);
            }
        }