コード例 #1
0
        public async Task <IActionResult> Login([FromBody] UserForLoginDto userForLoginDto)
        {
            var user = await _authService.FindByNameAsync(userForLoginDto.Username);

            var result = await _authService
                         .Login(userForLoginDto.Username, userForLoginDto.Password);

            if (result == null)
            {
                return(Unauthorized());
            }

            var userprofile = new UserProfileDto()
            {
                User = new UserForReturnLogin
                {
                    Username = user.Username,
                    Role     = user.RoleID,
                    ID       = user.ID,
                    OCLevel  = user.LevelOC,
                    ListOCs  = await _oCService.ListOCIDofUser(user.OCID),
                    IsLeader = user.isLeader,
                    image    = user.ImageBase64
                },
                //Menus = JsonConvert.SerializeObject(await _authService.GetMenusAsync(user.Role))
            };

            return(Ok(new
            {
                token = GenerateJwtToken(result),
                user = userprofile
            }));
        }
コード例 #2
0
ファイル: AuthController.cs プロジェクト: SyPham/WMS-API
        public async Task <IActionResult> Login([FromBody] UserForLoginDto userForLoginDto)
        {
            var user = await _authService.FindByNameAsync(userForLoginDto.Username);

            if (user == null)
            {
                return(NotFound());
            }

            var result = await _authService
                         .Login(userForLoginDto.Username, userForLoginDto.Password);

            if (result == null)
            {
                return(NotFound());
            }
            var subscribeLine = new bool();

            if (!user.AccessTokenLineNotify.IsNullOrEmpty())
            {
                // await _lineService.SendWithSticker(new MessageParams {Message = $"Hi {user.Username}! Welcome to Task Management System!", Token = user.AccessTokenLineNotify, StickerPackageId = "2", StickerId = "41" });
                subscribeLine = true;
            }
            var userprofile = new UserProfileDto()
            {
                User = new UserForReturnLogin
                {
                    Username      = user.Username,
                    Role          = user.RoleID,
                    ID            = user.ID,
                    OCLevel       = user.LevelOC,
                    ListOCs       = await _oCService.ListOCIDofUser(user.OCID),
                    IsLeader      = user.isLeader,
                    image         = user.ImageBase64,
                    SubscribeLine = subscribeLine
                },
                //Menus = JsonConvert.SerializeObject(await _authService.GetMenusAsync(user.Role))
            };

            return(Ok(new
            {
                token = GenerateJwtToken(result),
                user = userprofile
            }));
        }
コード例 #3
0
        public async Task <IActionResult> Login([FromBody] UserForLoginDto userForLoginDto)

        {
            var user = await _authService.FindByNameAsync(userForLoginDto.Username);

            if (user == null)
            {
                return(NotFound());
            }

            var result = await _authService
                         .Login(userForLoginDto.Username, userForLoginDto.Password);

            if (result == null)
            {
                return(NotFound());
            }
            var subscribeLine = new bool();

            if (!user.AccessTokenLineNotify.IsNullOrEmpty())
            {
                // await _lineService.SendWithSticker(new MessageParams {Message = $"Hi {user.Username}! Welcome to Task Management System!", Token = user.AccessTokenLineNotify, StickerPackageId = "2", StickerId = "41" });
                subscribeLine = true;
            }
            var userprofile = new UserProfileDto()
            {
                User = new UserForReturnLogin
                {
                    Username      = user.Username,
                    Role          = user.RoleID,
                    ID            = user.ID,
                    OCLevel       = user.LevelOC,
                    ListOCs       = await _oCService.ListOCIDofUser(user.OCID),
                    IsLeader      = user.isLeader,
                    image         = user.ImageBase64,
                    SubscribeLine = subscribeLine,
                    Systems       = user.UserSystems.Where(x => x.Status == true).Select(x => x.SystemID).ToList()
                },
                //Menus = JsonConvert.SerializeObject(await _authService.GetMenusAsync(user.Role))
            };
            var token = GenerateJwtToken(result);

            if (userForLoginDto.SystemCode == 0)
            {
                return(Ok(new
                {
                    token,
                    user = userprofile
                }));
            }
            await this._authService.SignInHistory(new SignInHistory
            {
                Token       = token,
                UserID      = user.ID,
                Username    = user.Username,
                SystemCode  = userForLoginDto.SystemCode,
                Host        = $"{Request.HttpContext.Connection.RemoteIpAddress.ToString()}:{Request.HttpContext.Connection.RemotePort.ToString()}",
                LoginTime   = DateTime.Now,
                CreatedDate = DateTime.Now
            });

            return(Ok(new
            {
                token,
                user = userprofile
            }));
        }