public async Task <ResponseMessage> SaveUserExtensions(ClaimsUserInfo ClaimsUserInfo, [FromBody] List <UserExtensionsRequest> request) { ResponseMessage r = new ResponseMessage(); try { if (request == null) { r.Code = "1"; r.Message = "没有传入用户参数"; } bool isOk = await userExtensionsManager.SaveUserExtensions(ClaimsUserInfo, request, Request.HttpContext.RequestAborted); if (!isOk) { r.Code = "1"; r.Message = "无法保存用户参数"; } } catch (Exception e) { r.Code = "500"; r.Message = e.Message; Logger.Error("保存用户参数失败:\r\n{0}", e.ToString()); } return(r); }
public async Task <ResponseMessage <List <OpenIDResponse> > > GetOpenIDs(ClaimsUserInfo ClaimsUserInfo, [FromBody] List <string> userIds) { ResponseMessage <List <OpenIDResponse> > r = new ResponseMessage <List <OpenIDResponse> >(); if (ClaimsUserInfo.grant_type != "client_credentials") { r.Code = "401"; r.Message = "仅允许内部应用访问"; return(r); } try { var q = from u in _context.Users.AsNoTracking() select new OpenIDResponse() { UserID = u.Id, OpenID = u.WXOpenId }; if (userIds != null && userIds.Count > 0) { q = q.Where(u => userIds.Contains(u.UserID)); } r.Extension = await q.ToListAsync(); } catch (Exception e) { r.Code = "1"; r.Message = e.Message; } return(r); }
public async Task <ResponseMessage> DeleteUserExtensions(ClaimsUserInfo ClaimsUserInfo, [FromBody] List <string> parNames) { ResponseMessage r = new ResponseMessage(); try { if (parNames == null) { r.Code = "1"; r.Message = "没有传入用户参数"; } bool isOk = await userExtensionsManager.DeleteUserExtensions(ClaimsUserInfo, parNames, Request.HttpContext.RequestAborted); if (!isOk) { r.Code = "1"; r.Message = "无法删除用户参数"; } } catch (Exception e) { r.Code = "500"; r.Message = e.Message; Logger.Error("删除用户参数失败:\r\n{0}", e.ToString()); } return(r); }
public async Task <ResponseMessage <List <UserExtensionsResponse> > > Search(ClaimsUserInfo ClaimsUserInfo, [FromQuery] string parName, [FromBody] List <string> userIds) { ResponseMessage <List <UserExtensionsResponse> > r = new ResponseMessage <List <UserExtensionsResponse> >(); try { if (ClaimsUserInfo.grant_type != "client_credentials") { r.Code = "401"; r.Message = "仅允许内部应用访问"; return(r); } var response = await userExtensionsManager.GetUserExtensions(ClaimsUserInfo, parName, userIds, HttpContext.RequestAborted); r.Extension = response; } catch (Exception e) { r.Code = "500"; r.Message = e.Message; Logger.Error("获取用户参数失败:\r\n{0}", e.ToString()); } return(r); }
public async Task <bool> SaveUserExtensions(ClaimsUserInfo ClaimsUserInfo, List <UserExtensionsRequest> request, CancellationToken cancellationToken) { List <UserExtensions> list = mapper.Map <List <UserExtensions> >(request); if (list != null) { list.ForEach(p => p.UserId = ClaimsUserInfo.Id); return(await store.SaveUserParamaters(list, cancellationToken)); } return(false); }
public async Task <List <UserExtensionsResponse> > GetUserExtensions(ClaimsUserInfo ClaimsUserInfo, string parNames, List <string> userIds, CancellationToken cancellationToken) { var list = await store.GetUserParameters(userIds, parNames, cancellationToken); if (list != null && list.Count > 0) { return(mapper.Map <List <UserExtensionsResponse> >(list)); } return(new List <UserExtensionsResponse>()); }
public IHttpActionResult GetMyInfo() { var response = new ClaimsUserInfo(); // Get the Claims of the current user. if (User is ClaimsPrincipal claimsPrincipal) { response.Sid = claimsPrincipal.FindFirst(ClaimTypes.NameIdentifier).Value; //response.Sid = claimsPrincipal.FindFirst(ClaimTypes.GivenName).Value; response.Role = claimsPrincipal.FindFirst(ClaimTypes.Role).Value; } return(Ok(response)); }
public async Task <bool> DeleteUserExtensions(ClaimsUserInfo ClaimsUserInfo, List <string> parNames, CancellationToken cancellationToken) { List <UserExtensions> extensions = new List <UserExtensions>(); if (parNames != null) { parNames.ForEach(p => { extensions.Add(new UserExtensions() { UserId = ClaimsUserInfo.Id, ParName = p }); }); } return(await store.DeleteUserParamaters(extensions, cancellationToken)); }
public async Task <ResponseMessage <BDFaceResponseBase> > FaceRegister(ClaimsUserInfo ClaimsUserInfo, [FromBody] BDFaceRegisterRequest request, [FromQuery] bool isFirst = false) { ResponseMessage <BDFaceResponseBase> r = new ResponseMessage <BDFaceResponseBase>(); try { request.user_info = ClaimsUserInfo.Id; request.uid = ClaimsUserInfo.UserName; r = await restClient.Post <ResponseMessage <BDFaceResponseBase> >("/baidu/face", request); if (r.IsSuccess()) { //设置参数 if (isFirst) { List <UserExtensionsRequest> pars = new List <UserExtensionsRequest>(); pars.Add(new UserExtensionsRequest() { ParName = ENABLE_FACE_LOGIN, ParValue = "1" }); pars.Add(new UserExtensionsRequest() { ParName = ENABLE_FACE_SOUND_TIP, ParValue = "1" }); pars.Add(new UserExtensionsRequest() { ParName = FACE_REGISTERED, ParValue = "1" }); await userExtensionsManager.SaveUserExtensions(ClaimsUserInfo, pars, HttpContext.RequestAborted); } } } catch (Exception e) { r.Code = "500"; r.Message = e.Message; Logger.Error("注册用户人脸失败:\r\n{0}", e.ToString()); } return(r); }
public async Task <ResponseMessage <BDFaceResponseBase> > FaceUpdate(ClaimsUserInfo ClaimsUserInfo, [FromBody] BDFaceRegisterRequest request) { ResponseMessage <BDFaceResponseBase> r = new ResponseMessage <BDFaceResponseBase>(); try { request.user_info = ClaimsUserInfo.Id; request.uid = ClaimsUserInfo.UserName; r = await restClient.Post <ResponseMessage <BDFaceResponseBase> >("/baidu/face", request, "PUT"); } catch (Exception e) { r.Code = "500"; r.Message = e.Message; Logger.Error("更新用户人脸失败:\r\n{0}", e.ToString()); } return(r); }
public async Task <ResponseMessage <BDFaceVerifyResponse> > FaceVerify(ClaimsUserInfo ClaimsUserInfo, [FromBody] BDFaceVerifyRequest request) { ResponseMessage <BDFaceVerifyResponse> r = new ResponseMessage <BDFaceVerifyResponse>(); try { request.uid = ClaimsUserInfo.UserName; request.topNum = 1; r = await restClient.Post <ResponseMessage <BDFaceVerifyResponse> >("/baidu/face/verify", request); } catch (Exception e) { r.Code = "500"; r.Message = e.Message; Logger.Error("更新用户人脸失败:\r\n{0}", e.ToString()); } return(r); }
public async Task <ResponseMessage <List <UserExtensionsResponse> > > GetUserExtensionsList2([FromRoute] string userId, [FromBody] List <string> parNames) { ResponseMessage <List <UserExtensionsResponse> > r = new ResponseMessage <List <UserExtensionsResponse> >(); try { ClaimsUserInfo ui = new ClaimsUserInfo() { Id = userId }; var response = await userExtensionsManager.GetUserExtensions(ui, parNames, HttpContext.RequestAborted); r.Extension = response; } catch (Exception e) { r.Code = "500"; r.Message = e.Message; Logger.Error("获取用户参数失败:\r\n{0}", e.ToString()); } return(r); }
public async Task <ResponseMessage <BDFaceResponseBase> > SwitchFaceLogin(ClaimsUserInfo ClaimsUserInfo, [FromQuery] bool enable) { ResponseMessage <BDFaceResponseBase> r = new ResponseMessage <BDFaceResponseBase>(); try { List <UserExtensionsRequest> pars = new List <UserExtensionsRequest>(); pars.Add(new UserExtensionsRequest() { ParName = ENABLE_FACE_LOGIN, ParValue = enable ? "1" : "0" }); await userExtensionsManager.SaveUserExtensions(ClaimsUserInfo, pars, HttpContext.RequestAborted); } catch (Exception e) { r.Code = "500"; r.Message = e.Message; Logger.Error("开启用户刷脸登录失败:\r\n{0}", e.ToString()); } return(r); }
public async Task <ResponseMessage <UserExtensionsResponse> > GetUserExtensions(ClaimsUserInfo ClaimsUserInfo, string parName) { ResponseMessage <UserExtensionsResponse> r = new ResponseMessage <UserExtensionsResponse>(); try { if (String.IsNullOrEmpty(parName)) { r.Code = "1"; r.Message = "没有传入用户参数"; } var response = await userExtensionsManager.GetUserExtensions(ClaimsUserInfo, new List <string>() { parName }, HttpContext.RequestAborted); r.Extension = response.FirstOrDefault(); } catch (Exception e) { r.Code = "500"; r.Message = e.Message; Logger.Error("获取用户参数失败:\r\n{0}", e.ToString()); } return(r); }
public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) { if (context?.HttpContext?.User == null) { context.Result = new ContentResult() { Content = "用户未登录", StatusCode = 403 }; return; } //直接从令牌获取用户信息 var identity = context.HttpContext.User; ClaimsUserInfo user = null; string grantType = identity.FindFirst("grant_type")?.Value; if (grantType == "client_credentials") { user = new ClaimsUserInfo() { Id = identity.FindFirst("sub")?.Value, OrganizationId = identity.FindFirst("org")?.Value, UserName = identity.FindFirst("name")?.Value, grant_type = grantType }; } else { user = new ClaimsUserInfo() { Id = identity.FindFirst(ClaimTypes.NameIdentifier)?.Value, OrganizationId = identity.FindFirst("org")?.Value, UserName = identity.FindFirst("name")?.Value }; } if (user == null) { context.Result = new ContentResult() { Content = "当前用户无效", StatusCode = 403, }; return; } //if (!await _permissionExpansionManager.HavePermission(user.Id, PermissionItem)) //{ // context.Result = new ContentResult() // { // Content = "没有权限进行该操作", // StatusCode = 403 // }; // return; //} context.ActionArguments.Add("UserId", user.Id); if (context.ActionArguments.ContainsKey("ClaimsUserInfo")) { context.ActionArguments["ClaimsUserInfo"] = user; } await next(); // do something after the action executes; resultContext.Result will be set }