Commit 37ce8e7c by Sxy

Merge branch 'center-manage' of gitlab.gongsibao.com:jiangyong/zhichan into center-manage

parents a5ef9ee3 a780b11f
...@@ -45,6 +45,10 @@ module.exports = (db, DataTypes) => { ...@@ -45,6 +45,10 @@ module.exports = (db, DataTypes) => {
type: DataTypes.BOOLEAN, type: DataTypes.BOOLEAN,
defaultValue: false defaultValue: false
}, },
last_change_date: {
type: DataTypes.BOOLEAN,
defaultValue: false
},
isSuper: { isSuper: {
type: DataTypes.BOOLEAN, type: DataTypes.BOOLEAN,
defaultValue: false defaultValue: false
......
...@@ -155,15 +155,22 @@ class UserService extends ServiceBase { ...@@ -155,15 +155,22 @@ class UserService extends ServiceBase {
let consumer = await this.cget(UserService.consumerUrl(p.userName)); let consumer = await this.cget(UserService.consumerUrl(p.userName));
if (!consumer.data) { if (!consumer.data) {
return null; return null;
} else { }
console.log(JSON.stringify(consumer.data)) var rtn = {}
let password = consumer.data.tags[1].split("_")[1]; let u = await this.findOne({userName:p.userName});
let inpassword = this.getEncryptStr(p.password); let inpassword = this.getEncryptStr(p.password);
if (password != inpassword) { if (u.password != inpassword) {
return null; return null;
}
let last = new Date(u.last_change_date).getTime();//注意月份
let differ = Date.now() - last ;
let days = Math.round(differ/(24*60*60*1000));
if (days >= settings.changepwdcycle) {//禁用用户
await this.dao.updateByWhere({isEnabled: false}, {userName: p.userName})
return null
}else if ((settings.changepwdcycle-7) <= days){
rtn.hint="请尽快修改密码,否则会禁用您的账户"
} }
}
var rtn = {}
return this.db.transaction(async function (t) { return this.db.transaction(async function (t) {
//从缓存中取得 //从缓存中取得
// let userfind = await self.dao.model.findOne({ // let userfind = await self.dao.model.findOne({
......
...@@ -11,11 +11,11 @@ class ServiceBase { ...@@ -11,11 +11,11 @@ class ServiceBase {
this.daoName = daoName; this.daoName = daoName;
this.dao = system.getObject("db." + gname + "." + daoName); this.dao = system.getObject("db." + gname + "." + daoName);
this.restS = system.getObject("util.restClient"); this.restS = system.getObject("util.restClient");
this.md5 = require("MD5"); this.crypto=require('crypto');
} }
/** /**
* *
* @param {*} str * @param {*} str
* @param {*} isComplexVerification 是否复杂验证 * @param {*} isComplexVerification 是否复杂验证
*/ */
getEncryptStr(str, isComplexVerification) { getEncryptStr(str, isComplexVerification) {
...@@ -25,9 +25,8 @@ class ServiceBase { ...@@ -25,9 +25,8 @@ class ServiceBase {
if (isComplexVerification) { if (isComplexVerification) {
this.complexVerification(str) this.complexVerification(str)
} }
let pwd = this.crypto.createHash("sha256").update(str + "_" + settings.salt, "utf8").digest("base64");
var md5 = this.md5(str + "_" + settings.salt); return pwd.toLowerCase();
return md5.toString().toLowerCase();
} }
complexVerification(str) { complexVerification(str) {
......
...@@ -20,6 +20,7 @@ var settings = { ...@@ -20,6 +20,7 @@ var settings = {
encrypt_secret: ENVINPUT.ENCRYPT_SECRET, encrypt_secret: ENVINPUT.ENCRYPT_SECRET,
salt: "%iatpD1gcxz7iF#B", salt: "%iatpD1gcxz7iF#B",
defaultpwd: "Temp123456", defaultpwd: "Temp123456",
changepwdcycle: 60,//密码更换周期 7天前登录提示更改密码 到期后直接禁用账户
basepath: path.normalize(path.join(__dirname, '../..')), basepath: path.normalize(path.join(__dirname, '../..')),
port: process.env.NODE_PORT || 80, port: process.env.NODE_PORT || 80,
logindex: "center_manage", logindex: "center_manage",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment