20210918 单点登陆修改
This commit is contained in:
parent
c0798d8358
commit
04b926db45
|
@ -66,7 +66,7 @@ namespace BLL
|
|||
/// <summary>
|
||||
/// 五环OA 私钥
|
||||
/// </summary>
|
||||
public const string OAPrivateKey_CWCEC = "<RSAKeyValue><Modulus>nq6pYDFkcrpzVtMrLbf2dvDPs2FDo5yeDub6YCnl0hXov3MVEVMbVe3NCnC5Thl3dwm14yI9/vNIGdH5M4getAkMnkG8tNA60NPjtHUzyoZSpVYCUOmB30s5vx+4IBkPh8R4ynkJYyUxkl61/0h6y7A86qz4jNivxAKt2a0vQxk=AQABy/DiC9r3AfTlJzuwk2BBT3X2YpVN0LE/lUIHJs64GW2siQow/k9BRcPOkBwLuVOp/YrwYPCh/XGLxjukqxCjNw==xzA32jeRGMthXVbkmn0YvFKV6O9IS7Toee2cRN8x1qRPwwnN5yOq7lunMcZyWLfCimsKmYwRe9Uw5fHMPScULw==DIzRTEt4Qd2RMH3i2t7khgBLXjuz4zDVKdk7WW8FM0Nlh7Vh2HSGHsXy8zlWm1wDrP+c1UpZnaAcKuHGu2Q1tw==jFW3dAHkM0DPFzDqHMH4FG5m+dbj65rIk2bJy2got93J6FLXA3sIqahfMl1rIIBPCrCBpk6d3s4EBm2GBKustw==ux8JAVqXtCjtaNgahpa0AK73tp+kGEkHyvt/hzp8C8LmXicNGNZtgDDHHLwxN+Lzp3z6ThfzY44oQtymljRu1g==Ye2Oj9PLltYkKhgmFI/sZZjVxXEoKgeUr8OyDrisoUtuGQCvpsJwI0affGr2oREsXeU7P9I5CmcfPvgLX9cIgsAtOcDMM81Hs6WhfbkryjyFj1CfKTI9gYZnApPInYYMew8wvUX23K6Hq+rIyHxMnSAhLvoqXor4KVQj6QRtdOU=</D></RSAKeyValue>";
|
||||
public const string OAPrivateKey_CWCEC = "<RSAKeyValue><Modulus>1oowM965L1r9NM10IruHI+4v4cF8cMrZ1PMaG/D1oNOww8YGEYjKiQ2iAjAtJi4OQX6sxI7BHJad/CGNKeE12ywplO18J8vL/YvEq38DMen22ungNAjSmC6zmIngvBrIiyW2Cyws/9JQKxT02I1tZlEQ9q4ZxCc3PLFazTD0sIk=</Modulus><Exponent>AQAB</Exponent><P>2K+KCTgEGJAvPzB6pYcDmE2n/gIIy6dOiaNQtTWRUrttC+DaU8ZlORlYH6+lWcekYhGnf+dVjfuGE3w45JVKxw==</P><Q>/Xb6T/4tizVbVpjLd47SN+c1yEcCubLhv7HHd/9E2K5olboWvOGxUbr53F4FOmTu9CWpybbCKLReJWPQxq5aLw==</Q><DP>eA1Ztx3X9xv7cVEUwpz5OurbhnnuEZdShiN71comB+Zb1lbv37Zt4qLOFlAklodr5gHOAalT12Rhtm3+v3aPhQ==</DP><DQ>5VjUNK+1PEKijGAjs+I627TN2JRQpgFz/gX6jN0hycM/BURmMLEzxtWeI0W8C1OrWKX/1XMWishya/i+wBihpw==</DQ><InverseQ>wE16uAx/ztTMObpArwC2eGhh+oCwXsnUPoFSQtLHeEbxx/Cf424wKr2ceV/Fe9YKQp5XLdOpJkCDDAF+2k4X1A==</InverseQ><D>0rF/yVEQeQtY5ERpq7qTa5v99i448eSlrVbZ61rnP3zmej29s/atQY/b7V422OoeIgAv2BGCYXshyH2CzwBYDAtGkz+qvaZtPvWIYPadTvgU5W/QgX8r/ozqFBHu17APSSBmJWulShxj6r9kOmgxW4HzwVQ/iQgyQ5Z+qgpf50k=</D></RSAKeyValue>";
|
||||
#endregion
|
||||
|
||||
#region 按钮描述
|
||||
|
|
|
@ -1137,9 +1137,13 @@ namespace BLL
|
|||
/// </summary>
|
||||
/// <param name="timestamp"></param>
|
||||
/// <returns></returns>
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
{
|
||||
/// <summary>
|
||||
|
|
|
@ -3,5 +3,6 @@ publickey
|
|||
<RSAKeyValue><Modulus>rnq6pYDFkcrpzVtMrLbf2dvDPs2FDo5yeDub6YCnl0hXov3MVEVMbVe3NCnC5Thl3dwm14yI9/vNIGdH5M4getAkMnkG8tNA60NPjtHUzyoZSpVYCUOmB30s5vx+4IBkPh8R4ynkJYyUxkl61/0h6y7A86qz4jNivxAKt2a0vQxk=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>
|
||||
|
||||
|
||||
privatekey:<RSAKeyValue><Modulus>nq6pYDFkcrpzVtMrLbf2dvDPs2FDo5yeDub6YCnl0hXov3MVEVMbVe3NCnC5Thl3dwm14yI9/vNIGdH5M4getAkMnkG8tNA60NPjtHUzyoZSpVYCUOmB30s5vx+4IBkPh8R4ynkJYyUxkl61/0h6y7A86qz4jNivxAKt2a0vQxk=AQAB
|
||||
y/DiC9r3AfTlJzuwk2BBT3X2YpVN0LE/lUIHJs64GW2siQow/k9BRcPOkBwLuVOp/YrwYPCh/XGLxjukqxCjNw==xzA32jeRGMthXVbkmn0YvFKV6O9IS7Toee2cRN8x1qRPwwnN5yOq7lunMcZyWLfCimsKmYwRe9Uw5fHMPScULw==DIzRTEt4Qd2RMH3i2t7khgBLXjuz4zDVKdk7WW8FM0Nlh7Vh2HSGHsXy8zlWm1wDrP+c1UpZnaAcKuHGu2Q1tw==jFW3dAHkM0DPFzDqHMH4FG5m+dbj65rIk2bJy2got93J6FLXA3sIqahfMl1rIIBPCrCBpk6d3s4EBm2GBKustw==ux8JAVqXtCjtaNgahpa0AK73tp+kGEkHyvt/hzp8C8LmXicNGNZtgDDHHLwxN+Lzp3z6ThfzY44oQtymljRu1g==Ye2Oj9PLltYkKhgmFI/sZZjVxXEoKgeUr8OyDrisoUtuGQCvpsJwI0affGr2oREsXeU7P9I5CmcfPvgLX9cIgsAtOcDMM81Hs6WhfbkryjyFj1CfKTI9gYZnApPInYYMew8wvUX23K6Hq+rIyHxMnSAhLvoqXor4KVQj6QRtdOU=</D></RSAKeyValue>
|
||||
privatekey:
|
||||
|
||||
<RSAKeyValue><Modulus>1oowM965L1r9NM10IruHI+4v4cF8cMrZ1PMaG/D1oNOww8YGEYjKiQ2iAjAtJi4OQX6sxI7BHJad/CGNKeE12ywplO18J8vL/YvEq38DMen22ungNAjSmC6zmIngvBrIiyW2Cyws/9JQKxT02I1tZlEQ9q4ZxCc3PLFazTD0sIk=</Modulus><Exponent>AQAB</Exponent><P>2K+KCTgEGJAvPzB6pYcDmE2n/gIIy6dOiaNQtTWRUrttC+DaU8ZlORlYH6+lWcekYhGnf+dVjfuGE3w45JVKxw==</P><Q>/Xb6T/4tizVbVpjLd47SN+c1yEcCubLhv7HHd/9E2K5olboWvOGxUbr53F4FOmTu9CWpybbCKLReJWPQxq5aLw==</Q><DP>eA1Ztx3X9xv7cVEUwpz5OurbhnnuEZdShiN71comB+Zb1lbv37Zt4qLOFlAklodr5gHOAalT12Rhtm3+v3aPhQ==</DP><DQ>5VjUNK+1PEKijGAjs+I627TN2JRQpgFz/gX6jN0hycM/BURmMLEzxtWeI0W8C1OrWKX/1XMWishya/i+wBihpw==</DQ><InverseQ>wE16uAx/ztTMObpArwC2eGhh+oCwXsnUPoFSQtLHeEbxx/Cf424wKr2ceV/Fe9YKQp5XLdOpJkCDDAF+2k4X1A==</InverseQ><D>0rF/yVEQeQtY5ERpq7qTa5v99i448eSlrVbZ61rnP3zmej29s/atQY/b7V422OoeIgAv2BGCYXshyH2CzwBYDAtGkz+qvaZtPvWIYPadTvgU5W/QgX8r/ozqFBHu17APSSBmJWulShxj6r9kOmgxW4HzwVQ/iQgyQ5Z+qgpf50k=</D></RSAKeyValue>
|
Loading…
Reference in New Issue