<add>[important]添加简单鉴权,token

This commit is contained in:
葛林强 2024-06-24 09:05:26 +08:00
parent 89efbfca22
commit c85b53ad46
24 changed files with 89 additions and 3 deletions

View File

@ -0,0 +1,31 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc.Filters;
namespace WcsMain.ApiServe.ControllerFilter;
/// <summary>
/// 权限验证
/// </summary>
public class WcsAuthorizationAttribute : Attribute, IAuthorizationFilter
{
public void OnAuthorization(AuthorizationFilterContext context)
{
try
{
var request = context.HttpContext.Request;
var headers = request.Headers;
var token = headers.Authorization;
if(string.IsNullOrEmpty(token))
{
context.Result = new Microsoft.AspNetCore.Mvc.UnauthorizedResult();
return;
}
}
catch(Exception ex)
{
context.Result = new Microsoft.AspNetCore.Mvc.UnauthorizedResult();
return;
}
}
}

View File

@ -13,6 +13,12 @@ public class LoginResponse
[JsonPropertyName("userName")] [JsonPropertyName("userName")]
public string? UserName { get; set; } public string? UserName { get; set; }
/// <summary>
/// token
/// </summary>
[JsonPropertyName("token")]
public string? Token { get; set; }
/// <summary> /// <summary>
/// 菜单 /// 菜单
/// </summary> /// </summary>

View File

@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using WcsMain.ApiServe.ControllerFilter;
using WcsMain.ApiServe.ControllerFilter.ExceptionFilter; using WcsMain.ApiServe.ControllerFilter.ExceptionFilter;
using WcsMain.ApiServe.Controllers.Dto; using WcsMain.ApiServe.Controllers.Dto;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.ApiAccept; using WcsMain.ApiServe.Controllers.Dto.WcsDto.ApiAccept;
@ -10,6 +11,7 @@ namespace WcsMain.ApiServe.Controllers.WcsController;
[Route("api/wcs/apiAccept")] [Route("api/wcs/apiAccept")]
[ApiController] [ApiController]
[WcsExceptionFilter] [WcsExceptionFilter]
[WcsAuthorization]
public class ApiAcceptController(ApiAcceptService apiAcceptService) : ControllerBase public class ApiAcceptController(ApiAcceptService apiAcceptService) : ControllerBase
{ {

View File

@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using WcsMain.ApiServe.ControllerFilter;
using WcsMain.ApiServe.ControllerFilter.ExceptionFilter; using WcsMain.ApiServe.ControllerFilter.ExceptionFilter;
using WcsMain.ApiServe.Controllers.Dto; using WcsMain.ApiServe.Controllers.Dto;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.ApiRequest; using WcsMain.ApiServe.Controllers.Dto.WcsDto.ApiRequest;
@ -10,6 +11,7 @@ namespace WcsMain.ApiServe.Controllers.WcsController;
[Route("api/wcs/apiRequest")] [Route("api/wcs/apiRequest")]
[ApiController] [ApiController]
[WcsExceptionFilter] [WcsExceptionFilter]
[WcsAuthorization]
public class ApiRequestController(ApiRequestService apiRequestService) : ControllerBase public class ApiRequestController(ApiRequestService apiRequestService) : ControllerBase
{ {

View File

@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using WcsMain.ApiServe.ControllerFilter;
using WcsMain.ApiServe.ControllerFilter.ExceptionFilter; using WcsMain.ApiServe.ControllerFilter.ExceptionFilter;
using WcsMain.ApiServe.Controllers.Dto; using WcsMain.ApiServe.Controllers.Dto;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.Config; using WcsMain.ApiServe.Controllers.Dto.WcsDto.Config;
@ -10,6 +11,7 @@ namespace WcsMain.ApiServe.Controllers.WcsController;
[Route("api/wcs/config")] [Route("api/wcs/config")]
[ApiController] [ApiController]
[WcsExceptionFilter] [WcsExceptionFilter]
[WcsAuthorization]
public class ConfigController(ConfigService configService) : ControllerBase public class ConfigController(ConfigService configService) : ControllerBase
{ {

View File

@ -1,5 +1,6 @@
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using WcsMain.ApiServe.ControllerFilter;
using WcsMain.ApiServe.ControllerFilter.ExceptionFilter; using WcsMain.ApiServe.ControllerFilter.ExceptionFilter;
using WcsMain.ApiServe.Controllers.Dto; using WcsMain.ApiServe.Controllers.Dto;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.Convey; using WcsMain.ApiServe.Controllers.Dto.WcsDto.Convey;
@ -14,6 +15,7 @@ namespace WcsMain.ApiServe.Controllers.WcsController;
[Route("api/wcs/conveyTask")] [Route("api/wcs/conveyTask")]
[ApiController] [ApiController]
[WcsExceptionFilter] [WcsExceptionFilter]
[WcsAuthorization]
public class ConveyTaskController(ConveyService conveyService) : ControllerBase public class ConveyTaskController(ConveyService conveyService) : ControllerBase
{ {

View File

@ -1,5 +1,6 @@
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using WcsMain.ApiServe.ControllerFilter;
using WcsMain.ApiServe.ControllerFilter.ExceptionFilter; using WcsMain.ApiServe.ControllerFilter.ExceptionFilter;
using WcsMain.ApiServe.Controllers.Dto; using WcsMain.ApiServe.Controllers.Dto;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.ElTag; using WcsMain.ApiServe.Controllers.Dto.WcsDto.ElTag;
@ -16,6 +17,7 @@ namespace WcsMain.ApiServe.Controllers.WcsController;
[Route("api/wcs/elTag")] [Route("api/wcs/elTag")]
[ApiController] [ApiController]
[WcsExceptionFilter] [WcsExceptionFilter]
[WcsAuthorization]
public class ElTagController(ElTagService elTagService) : ControllerBase public class ElTagController(ElTagService elTagService) : ControllerBase
{ {

View File

@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using WcsMain.ApiServe.ControllerFilter;
using WcsMain.ApiServe.ControllerFilter.ExceptionFilter; using WcsMain.ApiServe.ControllerFilter.ExceptionFilter;
using WcsMain.ApiServe.Controllers.Dto; using WcsMain.ApiServe.Controllers.Dto;
using WcsMain.ApiServe.Controllers.Dto.Equipment; using WcsMain.ApiServe.Controllers.Dto.Equipment;
@ -13,6 +14,7 @@ namespace WcsMain.ApiServe.Controllers.WcsController;
[Route("api/wcs/equipment")] [Route("api/wcs/equipment")]
[ApiController] [ApiController]
[WcsExceptionFilter] [WcsExceptionFilter]
[WcsAuthorization]
public class EquipmentController(EquipmentService equipmentService) : ControllerBase public class EquipmentController(EquipmentService equipmentService) : ControllerBase
{ {

View File

@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using WcsMain.ApiServe.ControllerFilter;
using WcsMain.ApiServe.ControllerFilter.ExceptionFilter; using WcsMain.ApiServe.ControllerFilter.ExceptionFilter;
using WcsMain.ApiServe.Controllers.Dto; using WcsMain.ApiServe.Controllers.Dto;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.Location; using WcsMain.ApiServe.Controllers.Dto.WcsDto.Location;
@ -10,6 +11,7 @@ namespace WcsMain.ApiServe.Controllers.WcsController;
[Route("api/wcs/location")] [Route("api/wcs/location")]
[ApiController] [ApiController]
[WcsExceptionFilter] [WcsExceptionFilter]
[WcsAuthorization]
public class LocationController(LocationService locationService) : ControllerBase public class LocationController(LocationService locationService) : ControllerBase
{ {

View File

@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using WcsMain.ApiServe.ControllerFilter;
using WcsMain.ApiServe.ControllerFilter.ExceptionFilter; using WcsMain.ApiServe.ControllerFilter.ExceptionFilter;
using WcsMain.ApiServe.Controllers.Dto; using WcsMain.ApiServe.Controllers.Dto;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.Menu; using WcsMain.ApiServe.Controllers.Dto.WcsDto.Menu;
@ -10,6 +11,7 @@ namespace WcsMain.ApiServe.Controllers.WcsController;
[Route("api/wcs/menu")] [Route("api/wcs/menu")]
[ApiController] [ApiController]
[WcsExceptionFilter] [WcsExceptionFilter]
[WcsAuthorization]
public class MenuController(MenuService menuService) : ControllerBase public class MenuController(MenuService menuService) : ControllerBase
{ {

View File

@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using WcsMain.ApiServe.ControllerFilter;
using WcsMain.ApiServe.ControllerFilter.ExceptionFilter; using WcsMain.ApiServe.ControllerFilter.ExceptionFilter;
using WcsMain.ApiServe.Controllers.Dto; using WcsMain.ApiServe.Controllers.Dto;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.PLC; using WcsMain.ApiServe.Controllers.Dto.WcsDto.PLC;
@ -10,6 +11,7 @@ namespace WcsMain.ApiServe.Controllers.WcsController;
[Route("api/wcs/plc")] [Route("api/wcs/plc")]
[ApiController] [ApiController]
[WcsExceptionFilter] [WcsExceptionFilter]
[WcsAuthorization]
public class PlcController(PlcService plcService) : ControllerBase public class PlcController(PlcService plcService) : ControllerBase
{ {

View File

@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using WcsMain.ApiServe.ControllerFilter;
using WcsMain.ApiServe.ControllerFilter.ExceptionFilter; using WcsMain.ApiServe.ControllerFilter.ExceptionFilter;
using WcsMain.ApiServe.Controllers.Dto; using WcsMain.ApiServe.Controllers.Dto;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.DB; using WcsMain.ApiServe.Controllers.Dto.WcsDto.DB;
@ -10,6 +11,7 @@ namespace WcsMain.ApiServe.Controllers.WcsController;
[Route("api/wcs/db")] [Route("api/wcs/db")]
[ApiController] [ApiController]
[WcsExceptionFilter] [WcsExceptionFilter]
[WcsAuthorization]
public class PlcDbController(PlcDbService plcDbService) : ControllerBase public class PlcDbController(PlcDbService plcDbService) : ControllerBase
{ {

View File

@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using WcsMain.ApiServe.ControllerFilter;
using WcsMain.ApiServe.ControllerFilter.ExceptionFilter; using WcsMain.ApiServe.ControllerFilter.ExceptionFilter;
using WcsMain.ApiServe.Controllers.Dto; using WcsMain.ApiServe.Controllers.Dto;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.SystemController; using WcsMain.ApiServe.Controllers.Dto.WcsDto.SystemController;
@ -9,6 +10,7 @@ namespace WcsMain.ApiServe.Controllers.WcsController;
[Route("api/wcs/runningInfo")] [Route("api/wcs/runningInfo")]
[ApiController] [ApiController]
[WcsExceptionFilter] [WcsExceptionFilter]
[WcsAuthorization]
public class RunningInfoController(RunningInfoService runningInfoService) : ControllerBase public class RunningInfoController(RunningInfoService runningInfoService) : ControllerBase
{ {
/// <summary> /// <summary>

View File

@ -1,5 +1,6 @@
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using WcsMain.ApiServe.ControllerFilter;
using WcsMain.ApiServe.ControllerFilter.ExceptionFilter; using WcsMain.ApiServe.ControllerFilter.ExceptionFilter;
using WcsMain.ApiServe.Controllers.Dto; using WcsMain.ApiServe.Controllers.Dto;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.Scan; using WcsMain.ApiServe.Controllers.Dto.WcsDto.Scan;
@ -14,6 +15,7 @@ namespace WcsMain.ApiServe.Controllers.WcsController;
[Route("api/wcs/scan")] [Route("api/wcs/scan")]
[ApiController] [ApiController]
[WcsExceptionFilter] [WcsExceptionFilter]
[WcsAuthorization]
public class ScanController(ScanService scanService) : ControllerBase public class ScanController(ScanService scanService) : ControllerBase
{ {
/// <summary> /// <summary>

View File

@ -1,4 +1,6 @@
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using WcsMain.ApiServe.ControllerFilter;
using WcsMain.ApiServe.ControllerFilter.ExceptionFilter;
using WcsMain.ApiServe.Controllers.Dto; using WcsMain.ApiServe.Controllers.Dto;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.Settings; using WcsMain.ApiServe.Controllers.Dto.WcsDto.Settings;
using WcsMain.ApiServe.Service.WcsService; using WcsMain.ApiServe.Service.WcsService;
@ -8,6 +10,8 @@ namespace WcsMain.ApiServe.Controllers.WcsController;
[Route("/api/wcs/setting")] [Route("/api/wcs/setting")]
[ApiController] [ApiController]
[WcsExceptionFilter]
[WcsAuthorization]
public class SettingController(SettingService settingService) : ControllerBase public class SettingController(SettingService settingService) : ControllerBase
{ {
/// <summary> /// <summary>

View File

@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using WcsMain.ApiServe.ControllerFilter;
using WcsMain.ApiServe.ControllerFilter.ExceptionFilter; using WcsMain.ApiServe.ControllerFilter.ExceptionFilter;
using WcsMain.ApiServe.Controllers.Dto; using WcsMain.ApiServe.Controllers.Dto;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.Socket; using WcsMain.ApiServe.Controllers.Dto.WcsDto.Socket;
@ -10,6 +11,7 @@ namespace WcsMain.ApiServe.Controllers.WcsController;
[Route("api/wcs/socket")] [Route("api/wcs/socket")]
[ApiController] [ApiController]
[WcsExceptionFilter] [WcsExceptionFilter]
[WcsAuthorization]
public class SocketController(SocketService socketService) : ControllerBase public class SocketController(SocketService socketService) : ControllerBase
{ {
/// <summary> /// <summary>

View File

@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using WcsMain.ApiServe.ControllerFilter;
using WcsMain.ApiServe.ControllerFilter.ExceptionFilter; using WcsMain.ApiServe.ControllerFilter.ExceptionFilter;
using WcsMain.ApiServe.Controllers.Dto; using WcsMain.ApiServe.Controllers.Dto;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.Stacker; using WcsMain.ApiServe.Controllers.Dto.WcsDto.Stacker;
@ -10,6 +11,7 @@ namespace WcsMain.ApiServe.Controllers.WcsController;
[Route("api/wcs/stacker")] [Route("api/wcs/stacker")]
[ApiController] [ApiController]
[WcsExceptionFilter] [WcsExceptionFilter]
[WcsAuthorization]
public class StackerController(StackerService stackerService) : ControllerBase public class StackerController(StackerService stackerService) : ControllerBase
{ {
/// <summary> /// <summary>

View File

@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using WcsMain.ApiServe.ControllerFilter;
using WcsMain.ApiServe.ControllerFilter.ExceptionFilter; using WcsMain.ApiServe.ControllerFilter.ExceptionFilter;
using WcsMain.ApiServe.Controllers.Dto; using WcsMain.ApiServe.Controllers.Dto;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.User; using WcsMain.ApiServe.Controllers.Dto.WcsDto.User;
@ -29,6 +30,7 @@ public class UserController(UserService userService) : ControllerBase
/// <param name="request"></param> /// <param name="request"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost("getUserWithPage")] [HttpPost("getUserWithPage")]
[WcsAuthorization]
public WcsApiResponse<List<AppUser>> GetUserWithPage([FromBody] GetUserWithPageRequest request) => userService.GetUserWithPage(request); public WcsApiResponse<List<AppUser>> GetUserWithPage([FromBody] GetUserWithPageRequest request) => userService.GetUserWithPage(request);
} }

View File

@ -1,4 +1,6 @@
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using WcsMain.ApiServe.ControllerFilter;
using WcsMain.ApiServe.ControllerFilter.ExceptionFilter;
using WcsMain.ApiServe.Controllers.Dto; using WcsMain.ApiServe.Controllers.Dto;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.UserGroup; using WcsMain.ApiServe.Controllers.Dto.WcsDto.UserGroup;
using WcsMain.ApiServe.Service.WcsService; using WcsMain.ApiServe.Service.WcsService;
@ -8,6 +10,8 @@ namespace WcsMain.ApiServe.Controllers.WcsController;
[Route("api/wcs/userGroup")] [Route("api/wcs/userGroup")]
[ApiController] [ApiController]
[WcsExceptionFilter]
[WcsAuthorization]
public class UserGroupController(UserGroupService userGroupService) : ControllerBase public class UserGroupController(UserGroupService userGroupService) : ControllerBase
{ {

View File

@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using WcsMain.ApiServe.ControllerFilter;
using WcsMain.ApiServe.ControllerFilter.ExceptionFilter; using WcsMain.ApiServe.ControllerFilter.ExceptionFilter;
using WcsMain.ApiServe.Controllers.Dto; using WcsMain.ApiServe.Controllers.Dto;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.UserRule; using WcsMain.ApiServe.Controllers.Dto.WcsDto.UserRule;
@ -10,6 +11,7 @@ namespace WcsMain.ApiServe.Controllers.WcsController;
[Route("api/wcs/userRule")] [Route("api/wcs/userRule")]
[ApiController] [ApiController]
[WcsExceptionFilter] [WcsExceptionFilter]
[WcsAuthorization]
public class UserRuleController(UserRuleService userRuleService) : ControllerBase public class UserRuleController(UserRuleService userRuleService) : ControllerBase
{ {
/// <summary> /// <summary>

View File

@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using WcsMain.ApiServe.ControllerFilter;
using WcsMain.ApiServe.ControllerFilter.ExceptionFilter; using WcsMain.ApiServe.ControllerFilter.ExceptionFilter;
using WcsMain.ApiServe.Controllers.Dto; using WcsMain.ApiServe.Controllers.Dto;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.WcsTask; using WcsMain.ApiServe.Controllers.Dto.WcsDto.WcsTask;
@ -10,6 +11,7 @@ namespace WcsMain.ApiServe.Controllers.WcsController;
[Route("api/wcs/wcsTask")] [Route("api/wcs/wcsTask")]
[ApiController] [ApiController]
[WcsExceptionFilter] [WcsExceptionFilter]
[WcsAuthorization]
public class WcsTaskController(WcsTaskService wcsTaskService) : ControllerBase public class WcsTaskController(WcsTaskService wcsTaskService) : ControllerBase
{ {
/// <summary> /// <summary>

View File

@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using WcsMain.ApiServe.ControllerFilter;
using WcsMain.ApiServe.ControllerFilter.ExceptionFilter; using WcsMain.ApiServe.ControllerFilter.ExceptionFilter;
using WcsMain.ApiServe.Controllers.Dto; using WcsMain.ApiServe.Controllers.Dto;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.WmsTask; using WcsMain.ApiServe.Controllers.Dto.WcsDto.WmsTask;
@ -11,6 +12,7 @@ namespace WcsMain.ApiServe.Controllers.WcsController;
[Route("api/wcs/wmsTask")] [Route("api/wcs/wmsTask")]
[ApiController] [ApiController]
[WcsExceptionFilter] [WcsExceptionFilter]
[WcsAuthorization]
public class WmsTaskController(WmsTaskService wmsTaskService) : ControllerBase public class WmsTaskController(WmsTaskService wmsTaskService) : ControllerBase
{ {
/// <summary> /// <summary>

View File

@ -10,7 +10,7 @@ using WcsMain.WcsAttribute.AutoFacAttribute;
namespace WcsMain.ApiServe.Service.WcsService; namespace WcsMain.ApiServe.Service.WcsService;
[Service] [Service]
public class UserService(AppUserDao appUserDao, AppMenuDao menuDao) public class UserService(AppUserDao appUserDao, AppMenuDao menuDao, DataService.DataBaseData dataBaseData)
{ {
/// <summary> /// <summary>
/// 登录请求的具体实现 /// 登录请求的具体实现
@ -53,7 +53,12 @@ public class UserService(AppUserDao appUserDao, AppMenuDao menuDao)
{ {
return default; return default;
} }
LoginResponse loginResponse = new() { UserName = user.UserName, Menu = [] }; LoginResponse loginResponse = new()
{
UserName = user.UserName,
Menu = [],
Token = dataBaseData.GetNewUUID()
};
// ---- 找出主菜单 // ---- 找出主菜单
List<(string Index, string MainMenuName, string ico)> mainMenuInfo = []; List<(string Index, string MainMenuName, string ico)> mainMenuInfo = [];
foreach (var menu in menus) foreach (var menu in menus)

View File

@ -8,7 +8,7 @@
"AllowedHosts": "*", "AllowedHosts": "*",
"Settings": { "Settings": {
"DBMysql": "server=192.168.103.200;port=3306;user=developer;password=developer;database=wcs_main;", "DBMysql": "server=192.168.103.200;port=3306;user=developer;password=developer;database=wcs_main;",
"DBMysqlLocal": "server=112.4.208.194;port=3001;user=developer;password=developer;database=wcs_kate_suzhou;", "DBMysqlLocal": "server=192.168.234.128;port=3306;user=developer;password=developer;database=wcs_kate_suzhou;",
"DBMssql": "Data Source=192.168.142.131;Initial Catalog=wcs;User Id=sa;Password=Sa123;", "DBMssql": "Data Source=192.168.142.131;Initial Catalog=wcs;User Id=sa;Password=Sa123;",
"DBMssqlLocal": "Data Source=192.168.142.131;Initial Catalog=wcs_stacker;User Id=sa;Password=Sa123;", "DBMssqlLocal": "Data Source=192.168.142.131;Initial Catalog=wcs_stacker;User Id=sa;Password=Sa123;",