Esempio n. 1
0
        /// <summary>
        /// 获取用户信息
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ApiUserBean UserSingle(ApiRequestEntityBean request)
        {
            var userId   = request.userId;
            var token    = request.authToken;
            var userInfo = _userRepository.FirstOrDefault(u => u.Id == userId);
            var roleIds  = userInfo.Roles.Select(r => r.RoleId).ToList();

            var roleNameList = new List <string>();

            if (roleIds.Count > 0)
            {
                roleNameList = _roleRepository.GetAll().Where(r => roleIds.Contains(r.Id))
                               .Select(s => s.Name).ToList();
            }

            var retUser = new ApiUserBean
            {
                authToken   = token,
                id          = userId,
                name        = userInfo.Name,
                phoneNumber = userInfo.PhoneNumber,
                iconURL     = string.Empty,
                //belonging = userInfo.Department.Name,
                role         = string.Join(",", roleNameList),
                distictId    = Convert.ToInt32(userInfo.District.Id),
                distictName  = userInfo.District.Name,
                distictLevel = userInfo.District.CurLevel.Value,
            };

            return(retUser);
        }
Esempio n. 2
0
        public async Task <JsonResult> AppLogin(ApiLoginBean loginBean)
        {
            CheckModelState();

            // 对密码进行AES解密
            loginBean.username = EncryptHelper.AesDecrpt(loginBean.username);
            loginBean.password = EncryptHelper.AesDecrpt(loginBean.password);

            var loginModel = new LoginViewModel
            {
                UsernameOrEmailAddress = loginBean.username,
                Password    = loginBean.password,
                TenancyName = loginBean.tenancyname
            };

            var loginResult = await GetLoginResultAsync(
                loginModel.UsernameOrEmailAddress,
                loginModel.Password,
                loginModel.TenancyName
                );

            ValidateCycleAndComplex(loginModel, loginResult);//密码复杂度和周期校验

            await SignInAsync(loginResult.User, loginResult.Identity, loginModel.RememberMe);

            var userBean = new ApiUserBean
            {
                id   = loginResult.User.Id,
                name = loginResult.User.UserName,
            };

            //return Json(userBean);
            return(Json(EncryptHelper.AesEncrypt(JsonConvert.SerializeObject(userBean))));
        }
Esempio n. 3
0
        /// <summary>
        /// 获取登录用户信息
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ApiUserBean GetUserLoginInfo(ApiRequestEntityBean request)
        {
            var userInfo = _userRepository.FirstOrDefault(u => u.Id == request.userId);

            if (userInfo == null)
            {
                //var errInfo = new ApiErrorBean
                //{
                //    isError = true,
                //    message = "用户信息不存在"
                //};

                //return JsonConvert.SerializeObject(errInfo);
                return(null);
            }

            //var roleIdList = _userRoleRepository.GetAll().Where(ur => ur.UserId == userInfo.Id)
            //    .Select(s => s.RoleId).ToList();
            var roleIdList = userInfo.Roles.Select(r => r.RoleId).ToList();

            var roleNameList = new List <string>();

            if (roleIdList.Count > 0)
            {
                roleNameList = _roleRepository.GetAll().Where(r => roleIdList.Contains(r.Id))
                               .Select(s => s.Name).ToList();
            }

            var userBean = new ApiUserBean
            {
                id           = request.userId,
                name         = userInfo.Name,
                phoneNumber  = userInfo.PhoneNumber,
                distictId    = Convert.ToInt32(userInfo.District.Id),
                distictName  = userInfo.District.Name,
                distictLevel = userInfo.District.CurLevel.Value,
                role         = string.Join(",", roleNameList),
                menu         = GetUserMenus(roleIdList)
            };

            //return JsonConvert.SerializeObject(userBean);
            return(userBean);
        }