diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/Ask/AskPaper/AskPaper.js b/Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/Ask/AskPaper/AskPaper.js index 7d4cd096a..6ca0fb479 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/Ask/AskPaper/AskPaper.js +++ b/Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/Ask/AskPaper/AskPaper.js @@ -93,8 +93,8 @@ learun.layer.toast('有选择项少选或多选'); return } - - learun.httpget(path + "/learun/ask/savepaper", + // return + learun.httppost(path + "/learun/ask/savepaper", { VID: param.VID, LessonNo: param.LessonNo, diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/OpenLessonPlanOfElectiveStudent/form/form.js b/Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/OpenLessonPlanOfElectiveStudent/form/form.js index 0cc46c23b..8476450d3 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/OpenLessonPlanOfElectiveStudent/form/form.js +++ b/Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/OpenLessonPlanOfElectiveStudent/form/form.js @@ -34,7 +34,8 @@ (dataresult, inforesult) => { learun.layer.loading(false); clearInterval(timer); - learun.layer.toast(inforesult); + //learun.layer.toast(inforesult); + learun.layer.toast(dataresult.msg); learun.nav.closeCurrent(); var prepage = learun.nav.getpage('EducationalAdministration/OpenLessonPlanOfElectiveStudent'); prepage.grid.reload(); diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/OpenLessonPlanOfElectiveStudentPre/form/form.js b/Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/OpenLessonPlanOfElectiveStudentPre/form/form.js index 8dc1d0760..91bd59fd0 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/OpenLessonPlanOfElectiveStudentPre/form/form.js +++ b/Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/OpenLessonPlanOfElectiveStudentPre/form/form.js @@ -26,7 +26,8 @@ learun.httppost(config.webapi + 'learun/EducationalAdministration/OpenLessonPlanOfElectiveStudent/SignInPre', _postData, (data,info) => { learun.layer.loading(false); if (data) {// 表单数据保存成功 - learun.layer.toast(info); + //learun.layer.toast(info); + learun.layer.toast(data.msg); learun.nav.closeCurrent(); var prepage = learun.nav.getpage('EducationalAdministration/OpenLessonPlanOfElectiveStudentPre'); prepage.grid.reload(); diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/StudentQRCode/StudentQRCode.js b/Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/StudentQRCode/StudentQRCode.js index df7091374..8cf9a80cf 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/StudentQRCode/StudentQRCode.js +++ b/Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/StudentQRCode/StudentQRCode.js @@ -21,8 +21,8 @@ var logininfo = learun.storage.get('userinfo'); - learun.httpget(config.webapi + 'learun/adms/EducationalAdministration/StuInfoBasic/stuinfoDetail',logininfo.baseinfo.account, function (data) { - // learun.httpget(config.webapi + 'learun/adms/EducationalAdministration/StuInfoBasic/stuinfoDetail','2018010108', function (data) { + //learun.httpget(config.webapi + 'learun/EducationalAdministration/StuInfoBasic/stuinfoDetail',logininfo.baseinfo.account, function (data) { + learun.httpget(config.webapi + 'learun/adms/EducationalAdministration/StuInfoBasic/stuinfoDetail','2018010108', function (data) { console.log(data); $('.sQrList div strong').eq(0).html(data.stuInfo.StuName); $('.sQrList div strong').eq(1).html(data.majorInfo.MajorName); @@ -33,7 +33,8 @@ learun.code.encode({ id: 'lr_mycode_qrcode', text: data.stuInfo.StuNo }); }) - // learun.code.encode({ id: 'lr_mycode_qrcode', text: '2019010211' }); + //learun.code.encode({ id: 'lr_mycode_qrcode', text: '2019010211' }); + }, bind: function ($page, param) { diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserBLL.cs b/Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserBLL.cs index d86188c5b..28166cfc8 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserBLL.cs +++ b/Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserBLL.cs @@ -857,7 +857,7 @@ namespace Learun.Application.Organization /// 重置密码 /// /// 账号主键 - public void ResetPassword(string keyValue) + public void ResetPassword(string keyValue, string defaultpwd) { try { @@ -871,7 +871,7 @@ namespace Learun.Application.Organization { cache.Remove(cacheKeyId + item, CacheId.user); } - string password = Md5Helper.Encrypt(ConfigurationManager.AppSettings["defaultpwd"], 32).ToLower(); + string password = Md5Helper.Encrypt(defaultpwd, 32).ToLower(); userService.RevisePasswordBatch(keyValue, password); } catch (Exception ex) @@ -908,7 +908,7 @@ namespace Learun.Application.Organization /// 重置密码(八位) /// /// 账号主键 - public void ResetPasswordEight(string keyValue) + public void ResetPasswordEight(string keyValue, string defaultpwd) { try { @@ -916,7 +916,7 @@ namespace Learun.Application.Organization { cache.Remove(cacheKeyId + item, CacheId.user); } - string password = Md5Helper.Encrypt(ConfigurationManager.AppSettings["defaultpwdeight"], 32).ToLower(); + string password = Md5Helper.Encrypt(defaultpwd, 32).ToLower(); userService.RevisePasswordBatch(keyValue, password); } catch (Exception ex) @@ -1201,6 +1201,31 @@ namespace Learun.Application.Organization } } + + /// + /// 修改用户的允许登录结束时间 + /// + /// 主键值 + /// 状态:1-赋值;0-重置 + public void UpdateAllowEndTime(string keyValue, int state) + { + try + { + userService.UpdateAllowEndTime(keyValue, state); + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowBusinessException(ex); + } + } + } + ///// ///// 获取用户头像 ///// diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserIBLL.cs b/Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserIBLL.cs index d3638ade7..fe666353f 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserIBLL.cs +++ b/Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserIBLL.cs @@ -130,12 +130,12 @@ namespace Learun.Application.Organization /// 重置密码 /// /// 账号主键 - void ResetPassword(string keyValue); + void ResetPassword(string keyValue, string defaultpwd); /// /// 重置密码(八位) /// /// 账号主键 - void ResetPasswordEight(string keyValue); + void ResetPasswordEight(string keyValue, string defaultpwd); /// /// 修改用户状态 /// @@ -179,7 +179,7 @@ namespace Learun.Application.Organization /// 用户ID void GetImg(string userId); - void setPassword(string userid,string pwd); + void setPassword(string userid, string pwd); List GetStudents(); #endregion @@ -195,5 +195,12 @@ namespace Learun.Application.Organization void UpdateIp(string ip, string id); void GetImgForDC(string userId); UserEntity GetEntityByWeixinOpenIdPC(string openId); + + /// + /// 修改用户的允许登录结束时间 + /// + /// 主键值 + /// 状态:1-赋值;0-重置 + void UpdateAllowEndTime(string keyValue, int state); } } diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserService.cs b/Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserService.cs index c3bd4ab11..12f3ce4bc 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserService.cs +++ b/Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserService.cs @@ -848,6 +848,38 @@ namespace Learun.Application.Organization } } } + + /// + /// 修改用户的允许登录结束时间 + /// + /// 主键值 + /// 状态:1-赋值;0-重置 + public void UpdateAllowEndTime(string keyValue, int state) + { + try + { + if (state == 0) + { + this.BaseRepository().ExecuteBySql("update LR_Base_User set F_AllowEndTime=null where F_UserId='" + keyValue + "'"); + } + else + { + this.BaseRepository().ExecuteBySql("update LR_Base_User set F_AllowEndTime='" + DateTime.Now + "' where F_UserId='" + keyValue + "'"); + } + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowServiceException(ex); + } + } + } + } } diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/Sys_DefaultPwdConfigController.cs b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/Sys_DefaultPwdConfigController.cs new file mode 100644 index 000000000..06bc4449f --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/Sys_DefaultPwdConfigController.cs @@ -0,0 +1,131 @@ +using Learun.Util; +using System.Data; +using Learun.Application.TwoDevelopment.EducationalAdministration; +using System.Web.Mvc; +using System.Collections.Generic; + +namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers +{ + /// + /// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 + /// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 + /// 创 建:超级管理员 + /// 日 期:2021-01-19 11:14 + /// 描 述:默认密码配置 + /// + public class Sys_DefaultPwdConfigController : MvcControllerBase + { + private Sys_DefaultPwdConfigIBLL sys_DefaultPwdConfigIBLL = new Sys_DefaultPwdConfigBLL(); + + #region 视图功能 + + /// + /// 主页面 + /// + /// + [HttpGet] + public ActionResult Index() + { + return View(); + } + /// + /// 表单页 + /// + /// + [HttpGet] + public ActionResult Form() + { + return View(); + } + #endregion + + #region 获取数据 + + /// + /// 获取页面显示列表数据 + /// + /// 分页参数 + /// 查询参数 + /// + [HttpGet] + [AjaxOnly] + public ActionResult GetPageList(string pagination, string queryJson) + { + Pagination paginationobj = pagination.ToObject(); + var data = sys_DefaultPwdConfigIBLL.GetPageList(paginationobj, queryJson); + var jsonData = new + { + rows = data, + total = paginationobj.total, + page = paginationobj.page, + records = paginationobj.records + }; + return Success(jsonData); + } + /// + /// 获取表单数据 + /// + /// 主键 + /// + [HttpGet] + [AjaxOnly] + public ActionResult GetFormData(string keyValue) + { + var Sys_DefaultPwdConfigData = sys_DefaultPwdConfigIBLL.GetSys_DefaultPwdConfigEntity( keyValue ); + var jsonData = new { + Sys_DefaultPwdConfig = Sys_DefaultPwdConfigData, + }; + return Success(jsonData); + } + #endregion + + #region 提交数据 + + /// + /// 删除实体数据 + /// + /// 主键 + /// + [HttpPost] + [AjaxOnly] + public ActionResult DeleteForm(string keyValue) + { + sys_DefaultPwdConfigIBLL.DeleteEntity(keyValue); + return Success("删除成功!"); + } + /// + /// 保存实体数据(新增、修改) + /// + /// 主键 + /// 实体 + /// + [HttpPost] + [ValidateAntiForgeryToken] + [AjaxOnly] + public ActionResult SaveForm(string keyValue, string strEntity) + { + Sys_DefaultPwdConfigEntity entity = strEntity.ToObject(); + entity.IsEnabled = false; + sys_DefaultPwdConfigIBLL.SaveEntity(keyValue,entity); + if (string.IsNullOrEmpty(keyValue)) + { + } + return Success("保存成功!"); + } + + /// + /// 启用 + /// + /// 主键 + /// + [HttpPost] + [AjaxOnly] + public ActionResult DoEnabled(string keyValue) + { + sys_DefaultPwdConfigIBLL.DoEnabled(keyValue); + return Success("操作成功!"); + } + #endregion + + } +} diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Sys_DefaultPwdConfig/Form.cshtml b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Sys_DefaultPwdConfig/Form.cshtml new file mode 100644 index 000000000..cabfef4e5 --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Sys_DefaultPwdConfig/Form.cshtml @@ -0,0 +1,15 @@ +@{ + ViewBag.Title = "默认密码配置"; + Layout = "~/Views/Shared/_Form.cshtml"; +} + + + 密码名称* + + + + 密码* + + + +@Html.AppendJsFile("/Areas/EducationalAdministration/Views/Sys_DefaultPwdConfig/Form.js") diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Sys_DefaultPwdConfig/Form.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Sys_DefaultPwdConfig/Form.js new file mode 100644 index 000000000..83feddc3b --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Sys_DefaultPwdConfig/Form.js @@ -0,0 +1,51 @@ +/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) + * Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 + * 创建人:超级管理员 + * 日 期:2021-01-19 11:14 + * 描 述:默认密码配置 + */ +var acceptClick; +var keyValue = request('keyValue'); +var bootstrap = function ($, learun) { + "use strict"; + var page = { + init: function () { + $('.lr-form-wrap').lrscroll(); + page.bind(); + page.initData(); + }, + bind: function () { + + }, + initData: function () { + if (!!keyValue) { + $.lrSetForm(top.$.rootUrl + '/EducationalAdministration/Sys_DefaultPwdConfig/GetFormData?keyValue=' + keyValue, function (data) { + for (var id in data) { + if (!!data[id].length && data[id].length > 0) { + $('#' + id ).jfGridSet('refreshdata', data[id]); + } + else { + $('[data-table="' + id + '"]').lrSetFormData(data[id]); + } + } + }); + } + } + }; + // 保存数据 + acceptClick = function (callBack) { + if (!$('body').lrValidform()) { + return false; + } + var postData = { + strEntity: JSON.stringify($('body').lrGetFormData()) + }; + $.lrSaveForm(top.$.rootUrl + '/EducationalAdministration/Sys_DefaultPwdConfig/SaveForm?keyValue=' + keyValue, postData, function (res) { + // 保存成功后才回调 + if (!!callBack) { + callBack(); + } + }); + }; + page.init(); +} diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Sys_DefaultPwdConfig/Index.cshtml b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Sys_DefaultPwdConfig/Index.cshtml new file mode 100644 index 000000000..eb3bddb53 --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Sys_DefaultPwdConfig/Index.cshtml @@ -0,0 +1,39 @@ +@{ + ViewBag.Title = "默认密码配置"; + Layout = "~/Views/Shared/_Index.cshtml"; +} + + + + + + + + + + 密码名称 + + + + + + + + + + + + 新增 + 编辑 + 删除 + + + 启用 + + + + + + + +@Html.AppendJsFile("/Areas/EducationalAdministration/Views/Sys_DefaultPwdConfig/Index.js") diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Sys_DefaultPwdConfig/Index.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Sys_DefaultPwdConfig/Index.js new file mode 100644 index 000000000..9c43797f2 --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Sys_DefaultPwdConfig/Index.js @@ -0,0 +1,112 @@ +/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) + * Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 + * 创建人:超级管理员 + * 日 期:2021-01-19 11:14 + * 描 述:默认密码配置 + */ +var refreshGirdData; +var bootstrap = function ($, learun) { + "use strict"; + var page = { + init: function () { + page.initGird(); + page.bind(); + }, + bind: function () { + $('#multiple_condition_query').lrMultipleQuery(function (queryJson) { + page.search(queryJson); + }, 220, 400); + // 刷新 + $('#lr_refresh').on('click', function () { + location.reload(); + }); + // 新增 + $('#lr_add').on('click', function () { + learun.layerForm({ + id: 'form', + title: '新增', + url: top.$.rootUrl + '/EducationalAdministration/Sys_DefaultPwdConfig/Form', + width: 600, + height: 400, + callBack: function (id) { + return top[id].acceptClick(refreshGirdData); + } + }); + }); + // 编辑 + $('#lr_edit').on('click', function () { + var keyValue = $('#gridtable').jfGridValue('Id'); + if (learun.checkrow(keyValue)) { + learun.layerForm({ + id: 'form', + title: '编辑', + url: top.$.rootUrl + '/EducationalAdministration/Sys_DefaultPwdConfig/Form?keyValue=' + keyValue, + width: 600, + height: 400, + callBack: function (id) { + return top[id].acceptClick(refreshGirdData); + } + }); + } + }); + // 删除 + $('#lr_delete').on('click', function () { + var keyValue = $('#gridtable').jfGridValue('Id'); + if (learun.checkrow(keyValue)) { + learun.layerConfirm('是否确认删除该项!', function (res) { + if (res) { + learun.deleteForm(top.$.rootUrl + '/EducationalAdministration/Sys_DefaultPwdConfig/DeleteForm', { keyValue: keyValue}, function () { + refreshGirdData(); + }); + } + }); + } + }); + // 启用 + $('#lr_enabled').on('click', function () { + var keyValue = $('#gridtable').jfGridValue('Id'); + if (learun.checkrow(keyValue)) { + var IsEnabled = $('#gridtable').jfGridValue('IsEnabled'); + if (IsEnabled == true) { + learun.alert.warning("当前项已启用!"); + return false; + } + learun.layerConfirm('是否确认启用该项!', function (res) { + if (res) { + learun.deleteForm(top.$.rootUrl + '/EducationalAdministration/Sys_DefaultPwdConfig/DoEnabled', { keyValue: keyValue }, function () { + refreshGirdData(); + }); + } + }); + } + }); + }, + // 初始化列表 + initGird: function () { + $('#gridtable').lrAuthorizeJfGrid({ + url: top.$.rootUrl + '/EducationalAdministration/Sys_DefaultPwdConfig/GetPageList', + headData: [ + { label: "密码名称", name: "PwdName", width: 150, align: "left"}, + { label: "密码", name: "Pwd", width: 150, align: "left"}, + { + label: "是否启用", name: "IsEnabled", width: 100, align: "left", + formatter: function (cellvalue, rowObject) { + return cellvalue == true ? "" : ""; + } + }, + ], + mainId:'Id', + isPage: true + }); + page.search(); + }, + search: function (param) { + param = param || {}; + $('#gridtable').jfGridSet('reload',{ queryJson: JSON.stringify(param) }); + } + }; + refreshGirdData = function () { + $('#gridtable').jfGridSet('reload'); + }; + page.init(); +} diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_OrganizationModule/Controllers/UserController.cs b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_OrganizationModule/Controllers/UserController.cs index cdbd2adc1..e11189411 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_OrganizationModule/Controllers/UserController.cs +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_OrganizationModule/Controllers/UserController.cs @@ -6,6 +6,8 @@ using Learun.Application.Base.AuthorizeModule; using System.Linq; using System; using Learun.Application.Base.SystemModule; +using Learun.Application.TwoDevelopment.EducationalAdministration; +using System.Configuration; namespace Learun.Application.Web.Areas.LR_OrganizationModule.Controllers { @@ -23,6 +25,8 @@ namespace Learun.Application.Web.Areas.LR_OrganizationModule.Controllers private UserRelationIBLL userRelationIBLL = new UserRelationBLL(); private RoleIBLL roleIBLL = new RoleBLL(); + private Sys_DefaultPwdConfigIBLL sys_DefaultPwdConfigIBLL = new Sys_DefaultPwdConfigBLL(); + #region 获取视图 @@ -334,7 +338,13 @@ namespace Learun.Application.Web.Areas.LR_OrganizationModule.Controllers [AjaxOnly] public ActionResult ResetPassword(string keyValue) { - userIBLL.ResetPassword(keyValue); + string defpwd = ConfigurationManager.AppSettings["defaultpwd"]; + //读取默认密码配置中已启用的密码 + if (sys_DefaultPwdConfigIBLL.GetEnabledEntity() != null) + { + defpwd = sys_DefaultPwdConfigIBLL.GetEnabledEntity().Pwd; + } + userIBLL.ResetPassword(keyValue, defpwd); return Success("操作成功!"); } /// @@ -346,7 +356,13 @@ namespace Learun.Application.Web.Areas.LR_OrganizationModule.Controllers [AjaxOnly] public ActionResult ResetPasswordEight(string keyValue) { - userIBLL.ResetPasswordEight(keyValue); + string defpwd = ConfigurationManager.AppSettings["defaultpwdeight"]; + //读取默认密码配置中已启用的密码 + if (sys_DefaultPwdConfigIBLL.GetEnabledEntity() != null) + { + defpwd = sys_DefaultPwdConfigIBLL.GetEnabledEntity().Pwd; + } + userIBLL.ResetPasswordEight(keyValue, defpwd); return Success("操作成功!"); } diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/HomeController.cs b/Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/HomeController.cs index 3a789cc9e..899a6996d 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/HomeController.cs +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/HomeController.cs @@ -57,6 +57,7 @@ namespace Learun.Application.Web.Controllers private Sys_UpdateRecordIBLL sys_UpdateRecordIBLL = new Sys_UpdateRecordBLL(); private Perm_FunctionIBLL perm_FunctionIBLL = new Perm_FunctionBLL(); private ICache redisCache = CacheFactory.CaChe(); + private Sys_DefaultPwdConfigIBLL sys_DefaultPwdConfigIBLL = new Sys_DefaultPwdConfigBLL(); #region 视图功能 public ActionResult ChangePwd() @@ -229,6 +230,11 @@ namespace Learun.Application.Web.Controllers string qingJuurl = ConfigurationManager.AppSettings["QingJuurl"]; string qingjuregisterurl = ConfigurationManager.AppSettings["QingJuRegisterurl"]; string defpwd = ConfigurationManager.AppSettings["defaultpwd"]; + //读取默认密码配置中已启用的密码 + if (sys_DefaultPwdConfigIBLL.GetEnabledEntity() != null) + { + defpwd = sys_DefaultPwdConfigIBLL.GetEnabledEntity().Pwd; + } var qjinfo = qjAccountIbll.GetQingJu_UserAccountEntityByAccount(userinfo.account); if (qjinfo == null || string.IsNullOrEmpty(qjinfo.UserAccount)) { @@ -335,6 +341,11 @@ namespace Learun.Application.Web.Controllers string qingJuurl = ConfigurationManager.AppSettings["QingJuurl"]; string qingjuregisterurl = ConfigurationManager.AppSettings["QingJuRegisterurl"]; string defpwd = ConfigurationManager.AppSettings["defaultpwd"]; + //读取默认密码配置中已启用的密码 + if (sys_DefaultPwdConfigIBLL.GetEnabledEntity() != null) + { + defpwd = sys_DefaultPwdConfigIBLL.GetEnabledEntity().Pwd; + } if (up != null && !string.IsNullOrEmpty(up.QUserName)) { if (userinfo.Description == "教师") @@ -423,7 +434,7 @@ namespace Learun.Application.Web.Controllers #region 待办 var userinfo = LoginUserInfo.Get(); - Pagination paginationobj = new Pagination() { rows = 5, page = 1, sidx = "readflag asc,SENDTIME desc ", sord = "desc" }; + Pagination paginationobj = new Pagination() { rows = 100, page = 1, sidx = "readflag asc,SENDTIME desc ", sord = "desc" }; //未读邮件 ViewBag.UnreadMail = sYS_ReceiveMessageIBLL.GetPageList(paginationobj, "{\"userId\":\"" + userinfo.userId + "\"}").Count(m => m.READFLAG == 0); //办公事项 diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/LoginController.cs b/Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/LoginController.cs index 58f0e81e4..32fd91b1c 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/LoginController.cs +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/LoginController.cs @@ -38,6 +38,7 @@ namespace Learun.Application.Web.Controllers private LoginModelIBLL loginModelIbll = new LoginModelBLL(); private AnnexesFileIBLL annexesFileIbll = new AnnexesFileBLL(); WeChatDevelopIBLL weChatDevelopIbll = new WeChatDevelopBLL(); + private Sys_DefaultPwdConfigIBLL sys_DefaultPwdConfigIBLL = new Sys_DefaultPwdConfigBLL(); #endregion #region 视图功能 @@ -184,6 +185,15 @@ namespace Learun.Application.Web.Controllers } //获取错误次数 ViewBag.errornum = OperatorHelper.Instance.GetCurrentErrorNum(); + //获取初始密码设置中已启用的密码 + ViewBag.IsSetDefaultPwd = false; + ViewBag.DefaultPwd = ""; + var defaultPwdEntity = sys_DefaultPwdConfigIBLL.GetEnabledEntity(); + if (defaultPwdEntity != null) + { + ViewBag.IsSetDefaultPwd = true; + ViewBag.DefaultPwd = defaultPwdEntity.Pwd; + } //获取高职版跳转地址 ViewBag.DigitalschoolMisLoginurl = ConfigurationManager.AppSettings["DigitalschoolMisLoginurl"]; ViewBag.Returnurl = "http://" + Request.Url.Host + ":" + Request.Url.Port; @@ -499,11 +509,13 @@ namespace Learun.Application.Web.Controllers /// 用户名 /// 密码 /// 验证码 + /// 密码是否是强密码 + /// 密码是否是初始密码,是则需要提示(true) /// [HttpPost] [AjaxOnly] [HandlerValidateAntiForgeryToken] - public ActionResult CheckLogin(string username, string password, string verifycode, string up) + public ActionResult CheckLogin(string username, string password, string verifycode, string up, string defaultPwdTip) { int error = OperatorHelper.Instance.GetCurrentErrorNum(); @@ -521,6 +533,41 @@ namespace Learun.Application.Web.Controllers #region 内部账户验证 UserEntity userEntity = userBll.CheckLogin(username, password); + #region 登录次数限制,禁止登录时间限制 + int defaultForbidLoginNum = 5;//默认的禁止登录次数 + double defaultForbidLoginMinutes = 10;//默认的禁止登录分钟数 + if (!string.IsNullOrEmpty(Config.GetValue("ForbidLoginNum"))) + { + defaultForbidLoginNum = Config.GetValue("ForbidLoginNum").ToInt(); + } + if (!string.IsNullOrEmpty(Config.GetValue("ForbidLoginMinutes"))) + { + defaultForbidLoginMinutes = Config.GetValue("ForbidLoginMinutes").ToDouble(); + } + //错误次数大于等于5时,判断禁止登录时间是否超过10分钟:若是则修改用户的允许登录结束时间,可以登录;若否,禁止登录; + if (error >= defaultForbidLoginNum) + { + if (userEntity.LoginOk)//登录成功 + { + if (userEntity.F_AllowEndTime.HasValue) + { + var period = (DateTime.Now - userEntity.F_AllowEndTime.Value).TotalMinutes; + if (period >= defaultForbidLoginMinutes) + { + userBll.UpdateAllowEndTime(userEntity.F_UserId, 0); + } + else + { + return Fail("错误次数超过" + defaultForbidLoginNum + "次,已被禁止登录,请" + defaultForbidLoginMinutes + "分钟后重试!", error); + } + } + } + else//登录失败 + { + return Fail(userEntity.LoginMsg, error); + } + } + #endregion #region 写入日志 LogEntity logEntity = new LogEntity(); @@ -540,6 +587,11 @@ namespace Learun.Application.Web.Controllers logEntity.F_ExecuteResultJson = "登录失败:" + userEntity.LoginMsg; logEntity.WriteLog(); int num = OperatorHelper.Instance.AddCurrentErrorNum(); + //判断登录错误次数大于等于5,修改用户的允许登录结束时间; + if (num >= defaultForbidLoginNum) + { + userBll.UpdateAllowEndTime(userEntity.F_UserId, 1); + } return Fail(userEntity.LoginMsg, num); } else @@ -552,12 +604,15 @@ namespace Learun.Application.Web.Controllers logEntity.F_ExecuteResultJson = "登录成功"; logEntity.WriteLog(); OperatorHelper.Instance.ClearCurrentErrorNum(); + //修改用户的允许登录结束时间; + userBll.UpdateAllowEndTime(userEntity.F_UserId, 0); //是否强密码验证 if (!string.IsNullOrEmpty(ConfigurationManager.AppSettings["verifypwd"]) && ConfigurationManager.AppSettings["verifypwd"] == "true" && up == "false") { - return Success(new { pwd = true }); + return Success(new { pwd = true, pwdtip = defaultPwdTip == "true" ? true : false }); } - return Success("登录成功"); + //返回成功的数据(pwdtip:初始密码提示弹框;pwd:弱密码修改弹框;) + return Success("登录成功", new { pwdtip = defaultPwdTip == "true" ? true : false }); } #endregion } @@ -899,8 +954,8 @@ namespace Learun.Application.Web.Controllers { string appid = "76d40062-349f-486d-b871-35bed08d2f59"; string secret = "cgpi"; - string appkey =Request.QueryString["appkey"]; - string response = Util.HttpMethods.HttpGet("http://localhost:20472/SSOSystem/authorize?appid=" + appid + "&secret=" + secret + "&appkey="+ appkey); + string appkey = Request.QueryString["appkey"]; + string response = Util.HttpMethods.HttpGet("http://localhost:20472/SSOSystem/authorize?appid=" + appid + "&secret=" + secret + "&appkey=" + appkey); return Content(response); } diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj b/Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj index 5c0c2a9c5..ec78642d6 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj @@ -792,6 +792,7 @@ + @@ -6124,6 +6125,10 @@ + + + + diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminDefault/index.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminDefault/index.js index 928cc635c..303c001e6 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminDefault/index.js +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminDefault/index.js @@ -6,7 +6,9 @@ * 描 述:经典风格皮肤 */ var autoopenid = request('autoopen'); -var pwd = request("pwd"); +var pwd = request("pwd");//弱密码修改弹框 +var pwdtip = request("pwdtip");//初始密码提示弹框 +var pwdpwdtip = request("pwdpwdtip");//弱密码修改弹框&初始密码提示弹框 var bootstrap = function ($, learun) { "use strict"; // 菜单操作 @@ -197,7 +199,8 @@ var bootstrap = function ($, learun) { // area: ['500px', '300px'] // }); //} - if (pwd == "true") { + //弱密码修改弹框 + if (pwd == "true" || pwdpwdtip == "true") { top.layer.open({ id: 'pwdform', title: '密码修改', @@ -225,6 +228,10 @@ var bootstrap = function ($, learun) { } }); } + //初始密码提示弹框 + if (pwdtip == "true" || pwdpwdtip == "true") { + learun.layerConfirm('当前登录密码还是初始密码!', function (res) { }); + } //上网认证 if (ACIp != null && ACIp != "") { //Ip上网 diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminDesktopTop.cshtml b/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminDesktopTop.cshtml index 4993ddef0..06d402508 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminDesktopTop.cshtml +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminDesktopTop.cshtml @@ -314,7 +314,7 @@ .lr-scroll-wrap { position: relative; overflow: hidden; - height: 100%; + height: 70%; width: 100% } diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Login/Default.cshtml b/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Login/Default.cshtml index ddb0c4cb8..88f5c754f 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Login/Default.cshtml +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Login/Default.cshtml @@ -49,6 +49,8 @@ + + @@ -59,7 +61,7 @@ @if (ViewBag.WeixinLoginSwitch) { - + 使用微信登录 } @@ -121,14 +123,14 @@ -