Просмотр исходного кода

Merge branch '长阳分支中职' of http://8.141.155.183:3000/bjquanjiang/DigitalScholl into 长阳分支中职

和田中职
dyy 3 месяцев назад
Родитель
Сommit
9e39b658d2
6 измененных файлов: 98 добавлений и 31 удалений
  1. +2
    -2
      Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/HomeController.cs
  2. +62
    -5
      Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/LoginController.cs
  3. +2
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/SSOSystemController.cs
  4. +25
    -19
      Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Login/Default.cshtml
  5. +2
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Login/Default/Index.js
  6. +5
    -3
      Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/SSOApi.cs

+ 2
- 2
Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/HomeController.cs Просмотреть файл

@@ -101,11 +101,11 @@ namespace Learun.Application.Web.Controllers
var url = perm_application.FInterfaceUrl; var url = perm_application.FInterfaceUrl;
if (url.Contains("?")) if (url.Contains("?"))
{ {
url += "&appkey=" + Md5Helper.Encrypt(perm_application.FSecret, 32) + "&name=" + DESEncrypt.Encrypt(userinfo.realName, perm_application.FSecret, false) + "&type=" + type + "&no=" + DESEncrypt.Encrypt(userinfo.enCode, perm_application.FSecret, false) + "&a=" + DESEncrypt.Encrypt(userinfo.enCode);
url += "&appkey=" + Md5Helper.Encrypt(perm_application.FSecret, 32) + "&name=" + DESEncrypt.Encrypt(userinfo.realName, perm_application.FSecret, false) + "&no=" + DESEncrypt.Encrypt(userinfo.enCode, perm_application.FSecret, false) + "&type=" + type + "&m=" + DESEncrypt.Encrypt(userinfo.loginMark) + "&t=" + DESEncrypt.Encrypt(userinfo.token);
} }
else else
{ {
url += "?appkey=" + Md5Helper.Encrypt(perm_application.FSecret, 32) + "&name=" + DESEncrypt.Encrypt(userinfo.realName, perm_application.FSecret, false) + "&type=" + type + "&no=" + DESEncrypt.Encrypt(userinfo.enCode, perm_application.FSecret, false) + "&a=" + DESEncrypt.Encrypt(userinfo.enCode);
url += "?appkey=" + Md5Helper.Encrypt(perm_application.FSecret, 32) + "&name=" + DESEncrypt.Encrypt(userinfo.realName, perm_application.FSecret, false) + "&no=" + DESEncrypt.Encrypt(userinfo.enCode, perm_application.FSecret, false) + "&type=" + type + "&m=" + DESEncrypt.Encrypt(userinfo.loginMark) + "&t=" + DESEncrypt.Encrypt(userinfo.token);
} }
return Redirect(url); return Redirect(url);
} }


+ 62
- 5
Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/LoginController.cs Просмотреть файл

@@ -23,6 +23,7 @@ using Quanjiang.DigitalScholl.SendSms;
using System.Collections.Generic; using System.Collections.Generic;
using Learun.Cache.Redis; using Learun.Cache.Redis;
using Learun.Application.TwoDevelopment.PersonnelManagement; using Learun.Application.TwoDevelopment.PersonnelManagement;
using Learun.Application.TwoDevelopment.Permission;


namespace Learun.Application.Web.Controllers namespace Learun.Application.Web.Controllers
{ {
@@ -46,6 +47,13 @@ namespace Learun.Application.Web.Controllers
WeChatDevelopIBLL weChatDevelopIbll = new WeChatDevelopBLL(); WeChatDevelopIBLL weChatDevelopIbll = new WeChatDevelopBLL();
private Sys_DefaultPwdConfigIBLL sys_DefaultPwdConfigIBLL = new Sys_DefaultPwdConfigBLL(); private Sys_DefaultPwdConfigIBLL sys_DefaultPwdConfigIBLL = new Sys_DefaultPwdConfigBLL();
private VisitorInfoIBLL visitorInfoIBLL = new VisitorInfoBLL(); private VisitorInfoIBLL visitorInfoIBLL = new VisitorInfoBLL();
private Perm_FunctionIBLL perm_FunctionIBLL = new Perm_FunctionBLL();
private Perm_FunctionVisitIBLL functionVisitIbll = new Perm_FunctionVisitBLL();

/// <summary>
/// 标记登录的浏览器
/// </summary>
private string LoginUserMarkKey = "Learun_ADMS_V7_Mark";
#endregion #endregion
private readonly ISms _aliyunSms = new AliyunSms(); private readonly ISms _aliyunSms = new AliyunSms();
CacheByRedis _redis = new CacheByRedis(); CacheByRedis _redis = new CacheByRedis();
@@ -204,7 +212,18 @@ namespace Learun.Application.Web.Controllers
} }
//获取高职版跳转地址 //获取高职版跳转地址
ViewBag.DigitalschoolMisLoginurl = ConfigurationManager.AppSettings["DigitalschoolMisLoginurl"]; ViewBag.DigitalschoolMisLoginurl = ConfigurationManager.AppSettings["DigitalschoolMisLoginurl"];
ViewBag.Returnurl = "http://" + Request.Url.Host + ":" + Request.Url.Port;
//ViewBag.Returnurl = "http://" + Request.Url.Host + ":" + Request.Url.Port;



if (!Request.QueryString["Returnurl"].IsEmpty())
{
ViewBag.Returnurl = Request.QueryString["Returnurl"];
};
if (!Request.QueryString["appid"].IsEmpty())
{
ViewBag.appid = Request.QueryString["appid"].ToString();
};


//获取登录页二维码配置信息 //获取登录页二维码配置信息
ViewBag.HasQRCode = false; ViewBag.HasQRCode = false;
@@ -541,6 +560,7 @@ namespace Learun.Application.Web.Controllers
OperatorHelper.Instance.EmptyCurrent(); OperatorHelper.Instance.EmptyCurrent();
return Success("退出系统"); return Success("退出系统");
} }

/// <summary> /// <summary>
/// 登录验证 /// 登录验证
/// </summary> /// </summary>
@@ -553,9 +573,9 @@ namespace Learun.Application.Web.Controllers
[HttpPost] [HttpPost]
[AjaxOnly] [AjaxOnly]
//[HandlerValidateAntiForgeryToken] //[HandlerValidateAntiForgeryToken]
public ActionResult CheckLogin(string username, string password, string verifycode, string up, string defaultPwdTip)
public ActionResult CheckLogin(string username, string password, string verifycode, string up, string defaultPwdTip, string appid, string Returnurl)
{ {
string token = "";
int error = OperatorHelper.Instance.GetCurrentErrorNum(); int error = OperatorHelper.Instance.GetCurrentErrorNum();
if (error >= 3) if (error >= 3)
{ {
@@ -636,7 +656,8 @@ namespace Learun.Application.Web.Controllers
{ {
//记录ip //记录ip
userBll.UpdateIp(GetIP(), userEntity.F_UserId); userBll.UpdateIp(GetIP(), userEntity.F_UserId);
OperatorHelper.Instance.AddLoginUser(userEntity.F_Account, "Learun_ADMS_6.1_PC", null);//写入缓存信息
token = OperatorHelper.Instance.AddLoginUser(userEntity.F_Account, "Learun_ADMS_6.1_PC", null);//写入缓存信息
string loginMark = WebHelper.GetCookie(LoginUserMarkKey).ToString();
//写入日志 //写入日志
logEntity.F_ExecuteResult = 1; logEntity.F_ExecuteResult = 1;
logEntity.F_ExecuteResultJson = "登录成功"; logEntity.F_ExecuteResultJson = "登录成功";
@@ -644,11 +665,47 @@ namespace Learun.Application.Web.Controllers
OperatorHelper.Instance.ClearCurrentErrorNum(); OperatorHelper.Instance.ClearCurrentErrorNum();
//修改用户的允许登录结束时间; //修改用户的允许登录结束时间;
userBll.UpdateAllowEndTime(userEntity.F_UserId, 0); userBll.UpdateAllowEndTime(userEntity.F_UserId, 0);

if (!Returnurl.IsEmpty() && !appid.IsEmpty())
{
var perm_application = perm_FunctionIBLL.GetPerm_FunctionEntity(appid);
if (perm_application != null)
{
var userinfo = LoginUserInfo.Get();
//写入当前请求所登录的用户
var type = 0;//1学生 0教师
if (userEntity.F_Description == "学生")
{
type = 1;
}
if (Returnurl.Contains("?"))
{
Returnurl += "&appkey=" + Md5Helper.Encrypt(perm_application.FSecret, 32) + "&name=" + DESEncrypt.Encrypt(userEntity.F_RealName, perm_application.FSecret, false) + "&no=" + DESEncrypt.Encrypt(userEntity.F_EnCode, perm_application.FSecret, false) + "&type=" + type + "&m=" + DESEncrypt.Encrypt(userinfo.loginMark) + "&t=" + DESEncrypt.Encrypt(token);
}
else
{
Returnurl += "?appkey=" + Md5Helper.Encrypt(perm_application.FSecret, 32) + "&name=" + DESEncrypt.Encrypt(userEntity.F_RealName, perm_application.FSecret, false) + "&no=" + DESEncrypt.Encrypt(userEntity.F_EnCode, perm_application.FSecret, false) + "&type=" + type + "&m=" + DESEncrypt.Encrypt(userinfo.loginMark) + "&t=" + DESEncrypt.Encrypt(token);
}
}
Perm_FunctionVisitEntity functionVisitEntity = new Perm_FunctionVisitEntity();
functionVisitEntity.Create();
functionVisitEntity.Fid = perm_application.FId;
functionVisitEntity.PDate = DateTime.Now;
functionVisitEntity.PUId = userEntity.F_UserId;
functionVisitEntity.PUName = userEntity.F_RealName;
functionVisitEntity.PIsLoginSuccess = true;
functionVisitEntity.PContent = "成功跳转到:" + Returnurl;
functionVisitIbll.SaveEntity(null, functionVisitEntity);
return Success("登录成功", new { FInterfaceUrl = Returnurl });
}


//是否强密码验证 //是否强密码验证
if (!string.IsNullOrEmpty(ConfigurationManager.AppSettings["verifypwd"]) && ConfigurationManager.AppSettings["verifypwd"] == "true" && up == "false") if (!string.IsNullOrEmpty(ConfigurationManager.AppSettings["verifypwd"]) && ConfigurationManager.AppSettings["verifypwd"] == "true" && up == "false")
{ {
return Success(new { pwd = true, pwdtip = defaultPwdTip == "true" ? true : false }); return Success(new { pwd = true, pwdtip = defaultPwdTip == "true" ? true : false });
} }

//返回成功的数据(pwdtip:初始密码提示弹框;pwd:弱密码修改弹框;) //返回成功的数据(pwdtip:初始密码提示弹框;pwd:弱密码修改弹框;)
return Success("登录成功", new { pwdtip = defaultPwdTip == "true" ? true : false }); return Success("登录成功", new { pwdtip = defaultPwdTip == "true" ? true : false });
} }
@@ -1167,7 +1224,7 @@ namespace Learun.Application.Web.Controllers
{ {
return Fail("账户被系统锁定,请联系管理员!"); return Fail("账户被系统锁定,请联系管理员!");
} }
userBll.setPassword(userEntity.F_UserId, newPassword); userBll.setPassword(userEntity.F_UserId, newPassword);


//删除验证码 //删除验证码


+ 2
- 1
Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/SSOSystemController.cs Просмотреть файл

@@ -933,10 +933,11 @@ namespace Learun.Application.Web.Controllers
{ {
if (!string.IsNullOrEmpty(perfun.UPUserName) && !string.IsNullOrEmpty(perfun.UPPass)) if (!string.IsNullOrEmpty(perfun.UPUserName) && !string.IsNullOrEmpty(perfun.UPPass))
{ {
var user = LoginUserInfo.Get();
functionVisitEntity.PIsLoginSuccess = true; functionVisitEntity.PIsLoginSuccess = true;
functionVisitEntity.PContent = "成功转到统一认证网站:" + perfun.FUrl; functionVisitEntity.PContent = "成功转到统一认证网站:" + perfun.FUrl;
functionVisitIbll.SaveEntity(null, functionVisitEntity); functionVisitIbll.SaveEntity(null, functionVisitEntity);
return Redirect(perfun.FInterfaceUrl + "?u=" + DESEncrypt.Encrypt(DESEncrypt.Encrypt(perfun.UPUserName, secretkey), publickey) + "&p=" + DESEncrypt.Encrypt(DESEncrypt.Encrypt(perfun.UPPass, secretkey), publickey) + "&t=" + DESEncrypt.Encrypt(DESEncrypt.Encrypt(DateTime.Now.ToString("yyyyMMddHHmmss"), secretkey), publickey) + "&ip=" + DESEncrypt.Encrypt(DESEncrypt.Encrypt(GetIP(), secretkey), publickey));
return Redirect(perfun.FInterfaceUrl + "?u=" + DESEncrypt.Encrypt(DESEncrypt.Encrypt(perfun.UPUserName, secretkey), publickey) + "&p=" + DESEncrypt.Encrypt(DESEncrypt.Encrypt(perfun.UPPass, secretkey), publickey) + "&t=" + DESEncrypt.Encrypt(DESEncrypt.Encrypt(DateTime.Now.ToString("yyyyMMddHHmmss"), secretkey), publickey) + "&ip=" + DESEncrypt.Encrypt(DESEncrypt.Encrypt(GetIP(), secretkey), publickey)+"&m=" + DESEncrypt.Encrypt(user.loginMark) + "&t=" + DESEncrypt.Encrypt(user.token));
} }
else else
{ {


+ 25
- 19
Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Login/Default.cshtml Просмотреть файл

@@ -26,21 +26,24 @@
width: 880px; width: 880px;
margin: auto; margin: auto;
} }
.tips{
position: absolute;
left: 50%;
bottom: 35px;
color: #fff;
font-size: 13px;
margin-left: -91px;
}
.tips > *{
display: inline-block;
vertical-align: middle;
}
.tips img{
margin-right: 8px
}

.tips {
position: absolute;
left: 50%;
bottom: 35px;
color: #fff;
font-size: 13px;
margin-left: -91px;
}

.tips > * {
display: inline-block;
vertical-align: middle;
}

.tips img {
margin-right: 8px
}
</style> </style>
</head> </head>


@@ -49,7 +52,7 @@
<link href="~/Content/css/process.css" rel="stylesheet" /> <link href="~/Content/css/process.css" rel="stylesheet" />
<!-- <img src="~/Content/images/Logins/loginBg.jpg" /> --> <!-- <img src="~/Content/images/Logins/loginBg.jpg" /> -->
<input id="errornum" type="hidden" value="@ViewBag.errornum" /> <input id="errornum" type="hidden" value="@ViewBag.errornum" />
<input id="DefaultPwd" type="hidden" value="@ViewBag.DefaultPwd" data-IsSetDefaultPwd="@ViewBag.IsSetDefaultPwd"/>
<input id="DefaultPwd" type="hidden" value="@ViewBag.DefaultPwd" data-IsSetDefaultPwd="@ViewBag.IsSetDefaultPwd" />


<div class="lr-login-body"> <div class="lr-login-body">


@@ -79,14 +82,16 @@
<!--登录框 正常登录--> <!--登录框 正常登录-->
<div class="lr-login-main lr-login-normal"> <div class="lr-login-main lr-login-normal">
@*<div class="loginImg" style="display:none;"> @*<div class="loginImg" style="display:none;">
<img class="loginImg1" src="~/Content/images/logins/login3.png" alt="">
<img class="loginImg2" src="~/Content/images/logins/login5.png" alt="">
</div>*@
<img class="loginImg1" src="~/Content/images/logins/login3.png" alt="">
<img class="loginImg2" src="~/Content/images/logins/login5.png" alt="">
</div>*@
<!--密码登录--> <!--密码登录-->
<div class="lr-login-bypsw noreg"> <div class="lr-login-bypsw noreg">
<div class="error_info">*&nbsp;<span>密码不正确</span></div> <div class="error_info">*&nbsp;<span>密码不正确</span></div>
<div class="lr-login-input"> <div class="lr-login-input">
<img class="inp_icon" src="~/Content/images/Login/default_account0.png" alt=""> <input id="lr_username" type="text" placeholder="身份证号"> <img class="inp_icon" src="~/Content/images/Login/default_account0.png" alt=""> <input id="lr_username" type="text" placeholder="身份证号">
<input id="Returnurl" type="hidden" value="@ViewBag.Returnurl" />
<input id="appid" type="hidden" value="@ViewBag.appid"/>
</div> </div>
<div class="lr-login-input"> <div class="lr-login-input">
<img class="inp_icon" src="~/Content/images/Login/default_psw0.png" alt=""><input id="lr_password" type="password" placeholder="密码"> <img class="inp_icon" src="~/Content/images/Login/default_psw0.png" alt=""><input id="lr_password" type="password" placeholder="密码">
@@ -143,6 +148,7 @@
$.lrToken = $('@Html.AntiForgeryToken()').val(); $.lrToken = $('@Html.AntiForgeryToken()').val();
var DigitalschoolMisLoginurl = "@ViewBag.DigitalschoolMisLoginurl"; var DigitalschoolMisLoginurl = "@ViewBag.DigitalschoolMisLoginurl";
var Returnurl = "@ViewBag.Returnurl"; var Returnurl = "@ViewBag.Returnurl";
var appid = "@ViewBag.appid";
var Ip = "@ViewBag.Ip"; var Ip = "@ViewBag.Ip";
var ACIp = "@ViewBag.ACIp"; var ACIp = "@ViewBag.ACIp";
var ACIp2 = "@ViewBag.ACIp2"; var ACIp2 = "@ViewBag.ACIp2";


+ 2
- 1
Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Login/Default/Index.js Просмотреть файл

@@ -170,7 +170,8 @@
$.ajax({ $.ajax({
url: $.rootUrl + "/Login/CheckLogin", url: $.rootUrl + "/Login/CheckLogin",
headers: { __RequestVerificationToken: $.lrToken }, headers: { __RequestVerificationToken: $.lrToken },
data: { username: username, password: password, verifycode: verifycode, up: up, defaultPwdTip: defaultPwdTip },
//data: { username: username, password: password, verifycode: verifycode, up: up, defaultPwdTip: defaultPwdTip },
data: { username: username, password: password, verifycode: verifycode, up: up, defaultPwdTip: defaultPwdTip,Returnurl: Returnurl, appid: appid },
type: "post", type: "post",
dataType: "json", dataType: "json",
success: function (res) { success: function (res) {


+ 5
- 3
Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/SSOApi.cs Просмотреть файл

@@ -258,15 +258,15 @@ namespace Learun.Application.WebApi.Modules
//写入当前请求所登录的用户 //写入当前请求所登录的用户
var code = Util.CommonHelper.RndNum(9); var code = Util.CommonHelper.RndNum(9);
cache.Write(code, userinfo.account, TimeSpan.FromMinutes(10)); cache.Write(code, userinfo.account, TimeSpan.FromMinutes(10));
var url = perm_application.FInterfaceUrl; var url = perm_application.FInterfaceUrl;
if (url.Contains("?")) if (url.Contains("?"))
{ {
url += "&appkey=" + Md5Helper.Encrypt(perm_application.FSecret, 32) + "&name=" + DESEncrypt.Encrypt(userinfo.realName, perm_application.FSecret) + "&type=" + type + "&a=" + DESEncrypt.Encrypt(userinfo.enCode, perm_application.FSecret);
url += "&appkey=" + Md5Helper.Encrypt(perm_application.FSecret, 32) + "&name=" + DESEncrypt.Encrypt(userinfo.realName, perm_application.FSecret, false) + "&no=" + DESEncrypt.Encrypt(userinfo.enCode, perm_application.FSecret, false) + "&type=" + type + "&m=" + DESEncrypt.Encrypt(userinfo.loginMark) + "&t=" + DESEncrypt.Encrypt(userinfo.token);
} }
else else
{ {
url += "?appkey=" + Md5Helper.Encrypt(perm_application.FSecret, 32) + "&name=" + DESEncrypt.Encrypt(userinfo.realName, perm_application.FSecret) + "&type=" + type + "&a=" + DESEncrypt.Encrypt(userinfo.enCode, perm_application.FSecret);
url += "?appkey=" + Md5Helper.Encrypt(perm_application.FSecret, 32) + "&name=" + DESEncrypt.Encrypt(userinfo.realName, perm_application.FSecret, false) + "&no=" + DESEncrypt.Encrypt(userinfo.enCode, perm_application.FSecret, false) + "&type=" + type + "&m=" + DESEncrypt.Encrypt(userinfo.loginMark) + "&t=" + DESEncrypt.Encrypt(userinfo.token);
} }
return Success(new { FInterfaceUrl = url }); return Success(new { FInterfaceUrl = url });
} }
@@ -316,6 +316,7 @@ namespace Learun.Application.WebApi.Modules
functionVisitEntity.PIsLoginSuccess = true; functionVisitEntity.PIsLoginSuccess = true;
functionVisitEntity.PContent = "成功转到统一认证网站:" + perfun.FUrl; functionVisitEntity.PContent = "成功转到统一认证网站:" + perfun.FUrl;
functionVisitIbll.SaveEntity(null, functionVisitEntity); functionVisitIbll.SaveEntity(null, functionVisitEntity);
var user = LoginUserInfo.Get();
return Success(new return Success(new
{ {
FInterfaceUrl = perfun.FInterfaceUrl + "?u=" + FInterfaceUrl = perfun.FInterfaceUrl + "?u=" +
@@ -327,6 +328,7 @@ namespace Learun.Application.WebApi.Modules
DESEncrypt.Encrypt(DateTime.Now.ToString("yyyyMMddHHmmss"), secretkey), DESEncrypt.Encrypt(DateTime.Now.ToString("yyyyMMddHHmmss"), secretkey),
publickey) + "&ip=" + publickey) + "&ip=" +
DESEncrypt.Encrypt(DESEncrypt.Encrypt(GetIP(), secretkey), publickey) DESEncrypt.Encrypt(DESEncrypt.Encrypt(GetIP(), secretkey), publickey)
+ "&m=" + DESEncrypt.Encrypt(user.loginMark) + "&t=" + DESEncrypt.Encrypt(user.token)
}); });
} }
else else


Загрузка…
Отмена
Сохранить