From 04b926db45e3649779b911dfeba9e7fe89d0bae2 Mon Sep 17 00:00:00 2001 From: Frane Date: Sat, 18 Sep 2021 13:26:51 +0800 Subject: [PATCH] =?UTF-8?q?20210918=20=E5=8D=95=E7=82=B9=E7=99=BB=E9=99=86?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SGGLDB_V2021-09-15-001.sql | 0 SGGL/BLL/Common/Const.cs | 2 +- SGGL/BLL/Common/Funs.cs | 8 +++- SGGL/FineUIPro.Web/ErrLog.txt | 34 +-------------- SGGL/FineUIPro.Web/Login.aspx.cs | 41 ++++++++++++------- .../Controllers/HSSE/TestRecordController.cs | 8 ++-- 开发需求/OA对接密钥.txt | 5 ++- 7 files changed, 40 insertions(+), 58 deletions(-) rename DataBase/版本日志/{ => 已更新脚本}/SGGLDB_V2021-09-15-001.sql (100%) diff --git a/DataBase/版本日志/SGGLDB_V2021-09-15-001.sql b/DataBase/版本日志/已更新脚本/SGGLDB_V2021-09-15-001.sql similarity index 100% rename from DataBase/版本日志/SGGLDB_V2021-09-15-001.sql rename to DataBase/版本日志/已更新脚本/SGGLDB_V2021-09-15-001.sql diff --git a/SGGL/BLL/Common/Const.cs b/SGGL/BLL/Common/Const.cs index ec046d44..7357a44c 100644 --- a/SGGL/BLL/Common/Const.cs +++ b/SGGL/BLL/Common/Const.cs @@ -66,7 +66,7 @@ namespace BLL /// /// 五环OA 私钥 /// - public const string OAPrivateKey_CWCEC = "nq6pYDFkcrpzVtMrLbf2dvDPs2FDo5yeDub6YCnl0hXov3MVEVMbVe3NCnC5Thl3dwm14yI9/vNIGdH5M4getAkMnkG8tNA60NPjtHUzyoZSpVYCUOmB30s5vx+4IBkPh8R4ynkJYyUxkl61/0h6y7A86qz4jNivxAKt2a0vQxk=AQABy/DiC9r3AfTlJzuwk2BBT3X2YpVN0LE/lUIHJs64GW2siQow/k9BRcPOkBwLuVOp/YrwYPCh/XGLxjukqxCjNw==xzA32jeRGMthXVbkmn0YvFKV6O9IS7Toee2cRN8x1qRPwwnN5yOq7lunMcZyWLfCimsKmYwRe9Uw5fHMPScULw==DIzRTEt4Qd2RMH3i2t7khgBLXjuz4zDVKdk7WW8FM0Nlh7Vh2HSGHsXy8zlWm1wDrP+c1UpZnaAcKuHGu2Q1tw==jFW3dAHkM0DPFzDqHMH4FG5m+dbj65rIk2bJy2got93J6FLXA3sIqahfMl1rIIBPCrCBpk6d3s4EBm2GBKustw==ux8JAVqXtCjtaNgahpa0AK73tp+kGEkHyvt/hzp8C8LmXicNGNZtgDDHHLwxN+Lzp3z6ThfzY44oQtymljRu1g==Ye2Oj9PLltYkKhgmFI/sZZjVxXEoKgeUr8OyDrisoUtuGQCvpsJwI0affGr2oREsXeU7P9I5CmcfPvgLX9cIgsAtOcDMM81Hs6WhfbkryjyFj1CfKTI9gYZnApPInYYMew8wvUX23K6Hq+rIyHxMnSAhLvoqXor4KVQj6QRtdOU="; + public const string OAPrivateKey_CWCEC = "1oowM965L1r9NM10IruHI+4v4cF8cMrZ1PMaG/D1oNOww8YGEYjKiQ2iAjAtJi4OQX6sxI7BHJad/CGNKeE12ywplO18J8vL/YvEq38DMen22ungNAjSmC6zmIngvBrIiyW2Cyws/9JQKxT02I1tZlEQ9q4ZxCc3PLFazTD0sIk=AQAB

2K+KCTgEGJAvPzB6pYcDmE2n/gIIy6dOiaNQtTWRUrttC+DaU8ZlORlYH6+lWcekYhGnf+dVjfuGE3w45JVKxw==

/Xb6T/4tizVbVpjLd47SN+c1yEcCubLhv7HHd/9E2K5olboWvOGxUbr53F4FOmTu9CWpybbCKLReJWPQxq5aLw==eA1Ztx3X9xv7cVEUwpz5OurbhnnuEZdShiN71comB+Zb1lbv37Zt4qLOFlAklodr5gHOAalT12Rhtm3+v3aPhQ==5VjUNK+1PEKijGAjs+I627TN2JRQpgFz/gX6jN0hycM/BURmMLEzxtWeI0W8C1OrWKX/1XMWishya/i+wBihpw==wE16uAx/ztTMObpArwC2eGhh+oCwXsnUPoFSQtLHeEbxx/Cf424wKr2ceV/Fe9YKQp5XLdOpJkCDDAF+2k4X1A==0rF/yVEQeQtY5ERpq7qTa5v99i448eSlrVbZ61rnP3zmej29s/atQY/b7V422OoeIgAv2BGCYXshyH2CzwBYDAtGkz+qvaZtPvWIYPadTvgU5W/QgX8r/ozqFBHu17APSSBmJWulShxj6r9kOmgxW4HzwVQ/iQgyQ5Z+qgpf50k=
"; #endregion #region 按钮描述 diff --git a/SGGL/BLL/Common/Funs.cs b/SGGL/BLL/Common/Funs.cs index 654dca1a..12e6ee53 100644 --- a/SGGL/BLL/Common/Funs.cs +++ b/SGGL/BLL/Common/Funs.cs @@ -1137,9 +1137,13 @@ namespace BLL /// /// /// - public static DateTime IntToDateTime(int timestamp) + public static DateTime IntToDateTime(long timestamp) { - return TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)).AddSeconds(timestamp); + var date = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); + date = date.AddMilliseconds(timestamp); + return date; + + //return TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)).AddSeconds(timestamp); } } } diff --git a/SGGL/FineUIPro.Web/ErrLog.txt b/SGGL/FineUIPro.Web/ErrLog.txt index 8591e8d9..5f282702 100644 --- a/SGGL/FineUIPro.Web/ErrLog.txt +++ b/SGGL/FineUIPro.Web/ErrLog.txt @@ -1,33 +1 @@ - -错误信息开始=====> -错误类型:FormatException -错误信息:输入的不是有效的 Base-64 字符串,因为它包含非 Base-64 字符、两个以上的填充字符,或者填充字符间包含非法字符。 -错误堆栈: - 在 System.Convert.FromBase64_Decode(Char* startInputPtr, Int32 inputLength, Byte* startDestPtr, Int32 destLength) - 在 System.Convert.FromBase64CharPtr(Char* inputPtr, Int32 inputLength) - 在 System.Convert.FromBase64String(String s) - 在 System.Security.Cryptography.RSA.FromXmlString(String xmlString) - 在 FineUIPro.Web.Login.RSADecrypt(String privatekey, String content) 位置 D:\CWCEC\SGGL_CWCEC\SGGL\FineUIPro.Web\Login.aspx.cs:行号 161 - 在 FineUIPro.Web.Login.Page_Load(Object sender, EventArgs e) 位置 D:\CWCEC\SGGL_CWCEC\SGGL\FineUIPro.Web\Login.aspx.cs:行号 74 - 在 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) - 在 System.EventHandler.Invoke(Object sender, EventArgs e) - 在 System.Web.UI.Control.OnLoad(EventArgs e) - 在 System.Web.UI.Control.LoadRecursive() - 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) -出错时间:09/17/2021 14:54:20 -出错文件:http://localhost:8118/Login.aspx?data=****&database=userName=sysgly×pan=1256015312 -IP地址:::1 - -出错时间:09/17/2021 14:54:20 - - -错误信息开始=====> -错误类型:FormatException -错误信息:该字符串未被识别为有效的 DateTime。 -错误堆栈: - 在 System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles) - 在 System.DateTime.Parse(String s) - 在 BLL.Funs.GetNewDateTime(String time) 位置 D:\CWCEC\SGGL_CWCEC\SGGL\BLL\Common\Funs.cs:行号 554 -出错时间:09/17/2021 14:56:12 -出错时间:09/17/2021 14:56:12 - + \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/Login.aspx.cs b/SGGL/FineUIPro.Web/Login.aspx.cs index b9d06940..3dc75ca8 100644 --- a/SGGL/FineUIPro.Web/Login.aspx.cs +++ b/SGGL/FineUIPro.Web/Login.aspx.cs @@ -2,11 +2,8 @@ { using BLL; using System; - using System.Configuration; - using System.Linq; using System.Security.Cryptography; using System.Text; - using System.Web; using System.Web.Services; public partial class Login : PageBase @@ -70,28 +67,42 @@ string userdata = Request.Params["basedata"]; if (!string.IsNullOrEmpty(userdata)) { - string result = RSADecrypt(Const.OAPrivateKey_CWCEC, userdata); //经过RSA解密后获得的域登录名+时间戳 - if (!string.IsNullOrEmpty(result)) + try { - var value = Funs.GetStrListByStr(result, '|'); - if (value.Count > 1) + string result = RSADecrypt(Const.OAPrivateKey_CWCEC, userdata); //经过RSA解密后获得的域登录名+时间戳 + if (!string.IsNullOrEmpty(result)) { - var userValues = Funs.GetStrListByStr(value[0], '='); - var timespan = Funs.GetStrListByStr(value[1], '='); - if (userValues.Count > 1 && timespan.Count > 1) + var value = Funs.GetStrListByStr(result, '&'); + if (value.Count > 1) { - DateTime? dateTimeS = Funs.IntToDateTime(Funs.GetNewIntOrZero(timespan[1])); - if (dateTimeS.HasValue && DateTime.Now.AddSeconds(-30) < dateTimeS) + var userValues = Funs.GetStrListByStr(value[0], '='); + var timespan = Funs.GetStrListByStr(value[1], '='); + if (userValues.Count > 1 && timespan.Count > 1 && timespan[1] != null) { - if (LoginService.UserLogOn_OA(userValues[1], true, this.Page)) + TimeSpan ts = DateTime.Now- new DateTime(1970, 1, 1, 0, 0, 0, 0); + //DateTime time = Funs.IntToDateTime(Convert.ToInt64(timespan[1])); + //if (DateTime.Now < time.AddSeconds(10)) //时间间隔小于10秒 + if (Convert.ToInt64(ts.TotalMilliseconds) - Convert.ToInt64(timespan[1]) < 10000) { - string url = getUrl(); - Response.Redirect(url); + if (LoginService.UserLogOn_OA(userValues[1], true, this.Page)) + { + string url = getUrl(); + Response.Redirect(url); + } + } + else + { + Alert.ShowInTop("时间戳过期!", MessageBoxIcon.Warning); } } } } } + catch (Exception ex) + { + //ErrLogInfo.WriteLog("OA单点登陆", ex); + //Alert.ShowInParent(ex.Message, MessageBoxIcon.Error); + } } } } diff --git a/SGGL/WebAPI/Controllers/HSSE/TestRecordController.cs b/SGGL/WebAPI/Controllers/HSSE/TestRecordController.cs index ef06ef1c..ff533b41 100644 --- a/SGGL/WebAPI/Controllers/HSSE/TestRecordController.cs +++ b/SGGL/WebAPI/Controllers/HSSE/TestRecordController.cs @@ -1,10 +1,8 @@ -using System; -using System.Collections.Generic; +using BLL; +using System; using System.Linq; -using System.Net; -using System.Net.Http; using System.Web.Http; -using BLL; + namespace WebAPI.Controllers { /// diff --git a/开发需求/OA对接密钥.txt b/开发需求/OA对接密钥.txt index 02c0d16f..10cc8999 100644 --- a/开发需求/OA对接密钥.txt +++ b/开发需求/OA对接密钥.txt @@ -3,5 +3,6 @@ publickey rnq6pYDFkcrpzVtMrLbf2dvDPs2FDo5yeDub6YCnl0hXov3MVEVMbVe3NCnC5Thl3dwm14yI9/vNIGdH5M4getAkMnkG8tNA60NPjtHUzyoZSpVYCUOmB30s5vx+4IBkPh8R4ynkJYyUxkl61/0h6y7A86qz4jNivxAKt2a0vQxk=AQAB -privatekey:nq6pYDFkcrpzVtMrLbf2dvDPs2FDo5yeDub6YCnl0hXov3MVEVMbVe3NCnC5Thl3dwm14yI9/vNIGdH5M4getAkMnkG8tNA60NPjtHUzyoZSpVYCUOmB30s5vx+4IBkPh8R4ynkJYyUxkl61/0h6y7A86qz4jNivxAKt2a0vQxk=AQAB -y/DiC9r3AfTlJzuwk2BBT3X2YpVN0LE/lUIHJs64GW2siQow/k9BRcPOkBwLuVOp/YrwYPCh/XGLxjukqxCjNw==xzA32jeRGMthXVbkmn0YvFKV6O9IS7Toee2cRN8x1qRPwwnN5yOq7lunMcZyWLfCimsKmYwRe9Uw5fHMPScULw==DIzRTEt4Qd2RMH3i2t7khgBLXjuz4zDVKdk7WW8FM0Nlh7Vh2HSGHsXy8zlWm1wDrP+c1UpZnaAcKuHGu2Q1tw==jFW3dAHkM0DPFzDqHMH4FG5m+dbj65rIk2bJy2got93J6FLXA3sIqahfMl1rIIBPCrCBpk6d3s4EBm2GBKustw==ux8JAVqXtCjtaNgahpa0AK73tp+kGEkHyvt/hzp8C8LmXicNGNZtgDDHHLwxN+Lzp3z6ThfzY44oQtymljRu1g==Ye2Oj9PLltYkKhgmFI/sZZjVxXEoKgeUr8OyDrisoUtuGQCvpsJwI0affGr2oREsXeU7P9I5CmcfPvgLX9cIgsAtOcDMM81Hs6WhfbkryjyFj1CfKTI9gYZnApPInYYMew8wvUX23K6Hq+rIyHxMnSAhLvoqXor4KVQj6QRtdOU= \ No newline at end of file +privatekey: + +1oowM965L1r9NM10IruHI+4v4cF8cMrZ1PMaG/D1oNOww8YGEYjKiQ2iAjAtJi4OQX6sxI7BHJad/CGNKeE12ywplO18J8vL/YvEq38DMen22ungNAjSmC6zmIngvBrIiyW2Cyws/9JQKxT02I1tZlEQ9q4ZxCc3PLFazTD0sIk=AQAB

2K+KCTgEGJAvPzB6pYcDmE2n/gIIy6dOiaNQtTWRUrttC+DaU8ZlORlYH6+lWcekYhGnf+dVjfuGE3w45JVKxw==

/Xb6T/4tizVbVpjLd47SN+c1yEcCubLhv7HHd/9E2K5olboWvOGxUbr53F4FOmTu9CWpybbCKLReJWPQxq5aLw==eA1Ztx3X9xv7cVEUwpz5OurbhnnuEZdShiN71comB+Zb1lbv37Zt4qLOFlAklodr5gHOAalT12Rhtm3+v3aPhQ==5VjUNK+1PEKijGAjs+I627TN2JRQpgFz/gX6jN0hycM/BURmMLEzxtWeI0W8C1OrWKX/1XMWishya/i+wBihpw==wE16uAx/ztTMObpArwC2eGhh+oCwXsnUPoFSQtLHeEbxx/Cf424wKr2ceV/Fe9YKQp5XLdOpJkCDDAF+2k4X1A==0rF/yVEQeQtY5ERpq7qTa5v99i448eSlrVbZ61rnP3zmej29s/atQY/b7V422OoeIgAv2BGCYXshyH2CzwBYDAtGkz+qvaZtPvWIYPadTvgU5W/QgX8r/ozqFBHu17APSSBmJWulShxj6r9kOmgxW4HzwVQ/iQgyQ5Z+qgpf50k=
\ No newline at end of file