Browse Source

修改PDA

集成Redis
郑勃旭 2 years ago
parent
commit
bbf08bfe02
  1. 2
      be/DataExchange/host/Win_in.Sfs.Wms.DataExchange.HttpApi.Host/appsettings.json
  2. 3
      be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Application/TokenService.cs
  3. 80
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Accounts/AccountController.cs
  4. 5
      be/Modules/Shared/src/Win_in.Sfs.Shared.Application/SfsCrudWithDetailsAppServiceBase.cs
  5. 14
      build/src/docker/publish/conf/settings/appsettings.Development.json

2
be/DataExchange/host/Win_in.Sfs.Wms.DataExchange.HttpApi.Host/appsettings.json

@ -46,6 +46,8 @@
"StringEncryption": { "StringEncryption": {
"DefaultPassPhrase": "8fFOYxuru0qm2ATJ" "DefaultPassPhrase": "8fFOYxuru0qm2ATJ"
}, },
//
"Sites": "T8,T9", "Sites": "T8,T9",
"Company": "T8,T9" "Company": "T8,T9"
} }

3
be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Application/TokenService.cs

@ -15,8 +15,9 @@ namespace Win_in.Sfs.Auth.Tokens;
public class TokenService : ApplicationService public class TokenService : ApplicationService
{ {
private readonly IHttpClientFactory _httpClientFactory; private readonly IHttpClientFactory _httpClientFactory;
private readonly IConfiguration _configuration;
private readonly ILogger<TokenService> _logger; private readonly ILogger<TokenService> _logger;
private readonly IConfiguration _configuration;
public TokenService(IHttpClientFactory httpClientFactory, IConfiguration configuration, ILogger<TokenService> logger) public TokenService(IHttpClientFactory httpClientFactory, IConfiguration configuration, ILogger<TokenService> logger)
{ {

80
be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Accounts/AccountController.cs

@ -1,8 +1,15 @@
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq; using System.Linq;
using System.Net.Http;
using System.Threading.Tasks; using System.Threading.Tasks;
using DocumentFormat.OpenXml.Drawing.Charts;
using IdentityModel.Client;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
using Volo.Abp.Account; using Volo.Abp.Account;
using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc;
using Win_in.Sfs.Auth.Application.Contracts; using Win_in.Sfs.Auth.Application.Contracts;
@ -26,6 +33,9 @@ public class AccountController : AbpController
private readonly ITokenService _tokenService; private readonly ITokenService _tokenService;
private readonly IUserMenuAppService _userMenuAppService; private readonly IUserMenuAppService _userMenuAppService;
private readonly IUserWorkGroupAppService _userWorkGroupAppService; private readonly IUserWorkGroupAppService _userWorkGroupAppService;
private readonly IConfiguration _configuration;
private readonly IHttpClientFactory _httpClientFactory;
private readonly ILogger<TokenService> _logger;
/// <summary> /// <summary>
/// ///
@ -38,12 +48,27 @@ public class AccountController : AbpController
, ITokenService tokenService , ITokenService tokenService
, IUserMenuAppService userMenuAppService , IUserMenuAppService userMenuAppService
, IUserWorkGroupAppService userWorkGroupAppService , IUserWorkGroupAppService userWorkGroupAppService
) , IConfiguration configuration, IHttpClientFactory httpClientFactory, ILogger<TokenService> logger)
{ {
_profileAppService = profileAppService; _profileAppService = profileAppService;
_tokenService = tokenService; _tokenService = tokenService;
_userMenuAppService = userMenuAppService; _userMenuAppService = userMenuAppService;
_userWorkGroupAppService = userWorkGroupAppService; _userWorkGroupAppService = userWorkGroupAppService;
_configuration = configuration;
_httpClientFactory = httpClientFactory;
_logger = logger;
}
[Display]
public class LoginModel
{
[Display]
[Required]
public string UserName { get; set; }
[Display]
[Required]
public string Password { get; set; }
} }
/// <summary> /// <summary>
@ -55,8 +80,51 @@ public class AccountController : AbpController
public virtual async Task<BaererToken> LoginAsync(UserLoginInput userLoginInput) public virtual async Task<BaererToken> LoginAsync(UserLoginInput userLoginInput)
{ {
var token = await _tokenService.GetTokenAsync(userLoginInput.Username, userLoginInput.Password).ConfigureAwait(false); var address = _configuration["AuthServer:Authority"];
return token; var request = new DiscoveryDocumentRequest
{
Address = address,
Policy = new DiscoveryPolicy { RequireHttps = false }
};
var discovery = await _httpClientFactory.CreateClient().GetDiscoveryDocumentAsync(request).ConfigureAwait(false);
var clientId = _configuration["AuthServer:ClientId"];
var clientSecret = _configuration["AuthServer:ClientSecret"];
this._logger.LogInformation($"address:{address},TokenEndpoint:{discovery.TokenEndpoint},clientId:{clientId},clientSecret:{clientSecret}");
var result = await _httpClientFactory.CreateClient().RequestPasswordTokenAsync(new PasswordTokenRequest
{
Address = $"{address.TrimEnd('/')}/connect/token",
GrantType = "password",
ClientId = clientId,
ClientSecret = clientSecret,
UserName = userLoginInput.Username,
Password = userLoginInput.Password
}).ConfigureAwait(false);
Console.WriteLine($"Result:${(result.IsError ? result.ErrorDescription : result.AccessToken)}");
return new BaererToken()
{
refresh_token = result.RefreshToken,
access_token = result.AccessToken,
scope = result.Scope,
token_type = result.TokenType,
expires_in = result.ExpiresIn,
};
//return new JsonResult(new
//{
// result.TokenType,
// result.AccessToken,
// result.ExpiresIn,
// result.RefreshToken,
// result.Scope,
// result.HttpStatusCode,
// result.Error,
// result.HttpErrorReason,
// result.ErrorDescription,
// result.ErrorType,
// result.Exception?.Message,
// Exception = result.Exception?.ToString()
//});
} }
/// <summary> /// <summary>
@ -95,10 +163,10 @@ public class AccountController : AbpController
/// 菜单 /// 菜单
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpGet("menus")] [HttpGet("menus/{userId}")]
public virtual async Task<List<PdaMenuGroupDto>> GetMenusAsync() public virtual async Task<List<PdaMenuGroupDto>> GetMenusAsync(Guid userId)
{ {
var userId = CurrentUser.Id; //var userId = CurrentUser.Id;
var pdaMenuGroupDtos = new List<PdaMenuGroupDto>();//返回给pda的菜单 已排序 var pdaMenuGroupDtos = new List<PdaMenuGroupDto>();//返回给pda的菜单 已排序
var menusOfUser = await _userMenuAppService.GetPdaMenusOfUserAsync(userId).ConfigureAwait(false); var menusOfUser = await _userMenuAppService.GetPdaMenusOfUserAsync(userId).ConfigureAwait(false);
var menuGroups = menusOfUser.GroupBy(p => p.GroupName); var menuGroups = menusOfUser.GroupBy(p => p.GroupName);

5
be/Modules/Shared/src/Win_in.Sfs.Shared.Application/SfsCrudWithDetailsAppServiceBase.cs

@ -23,6 +23,7 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Microsoft.Net.Http.Headers; using Microsoft.Net.Http.Headers;
using Omu.ValueInjecter.Utils;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services; using Volo.Abp.Application.Services;
@ -753,6 +754,10 @@ public abstract class SfsCrudWithDetailsAppServiceBase<TEntity, TEntityDto, TReq
{ {
worker.Worker = CurrentUser.GetUserName(); worker.Worker = CurrentUser.GetUserName();
} }
var first=entity.GetProps().First(p => p.Name == "Worker");
first.SetValue(first, CurrentUser.GetUserName());
var hasEntity = entity != null; var hasEntity = entity != null;
if (entity == null) if (entity == null)
{ {

14
build/src/docker/publish/conf/settings/appsettings.Development.json

@ -1,5 +1,5 @@
{ {
"AlwaysAllowAuthorization": "False", "AlwaysAllowAuthorization": "True",
"App": { "App": {
"CorsOrigins": [ "CorsOrigins": [
"http://localhost:59080", "http://localhost:59080",
@ -110,16 +110,16 @@
}, },
"RemoteServices": { "RemoteServices": {
"Auth": { "Auth": {
"BaseUrl": "http://localhost:21293/" "BaseUrl": "http://dev.ccwin-in.com:21293/"
}, },
"BaseData": { "BaseData": {
"BaseUrl": "http://localhost:21294/" "BaseUrl": "http://dev.ccwin-in.com:21294/"
}, },
"Default": { "Default": {
"BaseUrl": "http://localhost:21293/" "BaseUrl": "http://dev.ccwin-in.com:21293/"
}, },
"FileStorage": { "FileStorage": {
"BaseUrl": "http://localhost:21292/" "BaseUrl": "http://dev.ccwin-in.com:21292/"
}, },
"Inventory": { "Inventory": {
"BaseUrl": "http://localhost:59095/" "BaseUrl": "http://localhost:59095/"
@ -128,10 +128,10 @@
"BaseUrl": "http://localhost:59095/" "BaseUrl": "http://localhost:59095/"
}, },
"Label": { "Label": {
"BaseUrl": "http://localhost:21292/" "BaseUrl": "http://dev.ccwin-in.com:21292/"
}, },
"Message": { "Message": {
"BaseUrl": "http://localhost:21292/" "BaseUrl": "http://dev.ccwin-in.com:21292/"
}, },
"Store": { "Store": {
"BaseUrl": "http://localhost:59095/" "BaseUrl": "http://localhost:59095/"

Loading…
Cancel
Save