| | |
| | | using DocumentServiceAPI.Utility; |
| | | using Furion.DynamicApiController; |
| | | using Furion.JsonSerialization; |
| | | using Microsoft.AspNetCore.Http; |
| | | using Microsoft.IdentityModel.Tokens; |
| | | using NetTaste; |
| | | using Newtonsoft.Json.Linq; |
| | | using Swashbuckle.AspNetCore.Annotations; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.IdentityModel.Tokens.Jwt; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | |
| | | } |
| | | /// <summary> |
| | | /// 登录 1 输入员工账户或者租户账户,2 选择租户账户,3 选择公司 |
| | | /// 当密码为空时,带入用户中心token即可实现登录 |
| | | /// </summary> |
| | | /// <returns>登录信息</returns> |
| | | [HttpPost("LogoIn")] |
| | | public async Task<RetLoginVM> LogoIn (LoginPsWordIN Parma) |
| | | { |
| | | //zctok校验成功是否标志 |
| | | bool IsTokenPass=false; |
| | | |
| | | if(string.IsNullOrEmpty(Parma.PassWord)) |
| | | { |
| | | |
| | | var Request = App.HttpContext.Request; |
| | | string stoken = Request.Headers["Authorization"]; |
| | | if (stoken == null) |
| | | throw Oops.Oh("没有输入密码"); |
| | | stoken = stoken.Replace("Bearer ", ""); |
| | | |
| | | var isvale = _tokenService.CheckJwt(stoken, out SecurityToken securityToken); |
| | | JwtSecurityToken jwtToken = securityToken as JwtSecurityToken; |
| | | string itcode = jwtToken.Claims.FirstOrDefault(claim => claim.Type == "sub")?.Value; |
| | | if (isvale == false) |
| | | throw Oops.Oh("登录信息出错"); |
| | | if(Parma.ITCode!= itcode) |
| | | throw Oops.Oh("用户名错误"); |
| | | |
| | | |
| | | } |
| | | |
| | | bool needtoken=false; |
| | | |
| | | if (Parma.TenantId==null) |
| | | { |
| | | //如果还没确定租户ID 需要先确定租户ID |
| | |
| | | case 0: |
| | | throw Oops.Oh($"账户或者密码错误"); |
| | | case 1: |
| | | if (!needtoken) |
| | | { |
| | | needtoken = await _userService.CheckPsw(Tender[0].TenderId, Tender[0].EmployeeID,Parma.PassWord); |
| | | |
| | | if(!needtoken) |
| | | throw Oops.Oh($"账户或者密码错误"); |
| | | } |
| | | |
| | | |
| | | Parma.TenantId = Tender[0].TenderId; |
| | | Parma.employeeID = Tender[0].EmployeeID; |
| | |
| | | { |
| | | throw Oops.Oh($"账户密码或者租户选择错误"); |
| | | } |
| | | if (!IsTokenPass) |
| | | { |
| | | needtoken = await _userService.CheckPsw(Tender. TenderId, Tender.EmployeeID, Parma.PassWord); |
| | | |
| | | if (!needtoken) |
| | | throw Oops.Oh($"账户或者密码错误"); |
| | | } |
| | | var token= _tokenService.CreateToken(new Model.JwtInfo |
| | | { |
| | | EID = Tender.EmployeeID, |
| | |
| | | throw Oops.Oh($"参数错误"); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 获取公司列表 |
| | | /// </summary> |