mirror of
https://gitee.com/ssssssss-team/magic-boot.git
synced 2025-04-01 03:02:38 +08:00
233 lines
6.0 KiB
Plaintext
233 lines
6.0 KiB
Plaintext
{
|
|
"properties" : { },
|
|
"id" : "6f604c0abbe446b381381ae929026a28",
|
|
"script" : null,
|
|
"groupId" : "1952f25c81084e24b55b11385767dc38",
|
|
"name" : "登录",
|
|
"createTime" : null,
|
|
"updateTime" : 1688041637780,
|
|
"lock" : "0",
|
|
"createBy" : null,
|
|
"updateBy" : null,
|
|
"path" : "/login",
|
|
"method" : "POST",
|
|
"parameters" : [ {
|
|
"name" : "username",
|
|
"value" : null,
|
|
"description" : null,
|
|
"required" : false,
|
|
"dataType" : "String",
|
|
"type" : null,
|
|
"defaultValue" : null,
|
|
"validateType" : null,
|
|
"error" : null,
|
|
"expression" : null,
|
|
"children" : null
|
|
}, {
|
|
"name" : "password",
|
|
"value" : null,
|
|
"description" : null,
|
|
"required" : false,
|
|
"dataType" : "String",
|
|
"type" : null,
|
|
"defaultValue" : null,
|
|
"validateType" : null,
|
|
"error" : null,
|
|
"expression" : null,
|
|
"children" : null
|
|
}, {
|
|
"name" : "code",
|
|
"value" : null,
|
|
"description" : null,
|
|
"required" : false,
|
|
"dataType" : "String",
|
|
"type" : null,
|
|
"defaultValue" : null,
|
|
"validateType" : null,
|
|
"error" : null,
|
|
"expression" : null,
|
|
"children" : null
|
|
} ],
|
|
"options" : [ {
|
|
"name" : "require_login",
|
|
"value" : "false",
|
|
"description" : "该接口需要登录才允许访问",
|
|
"required" : false,
|
|
"dataType" : "String",
|
|
"type" : null,
|
|
"defaultValue" : null,
|
|
"validateType" : null,
|
|
"error" : null,
|
|
"expression" : null,
|
|
"children" : null
|
|
} ],
|
|
"requestBody" : "{\r\n \"username\": \"admin\",\r\n \"password\": \"8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92\"\r\n}",
|
|
"headers" : [ ],
|
|
"paths" : [ ],
|
|
"responseBody" : "{\n \"code\": 0,\n \"message\": \"用户名或密码错误\",\n \"data\": null,\n \"timestamp\": 1656424276533,\n \"executeTime\": 11\n}",
|
|
"description" : null,
|
|
"requestBodyDefinition" : {
|
|
"name" : "root",
|
|
"value" : "",
|
|
"description" : "",
|
|
"required" : false,
|
|
"dataType" : "Object",
|
|
"type" : null,
|
|
"defaultValue" : null,
|
|
"validateType" : "",
|
|
"error" : "",
|
|
"expression" : "",
|
|
"children" : [ {
|
|
"name" : "username",
|
|
"value" : "admin",
|
|
"description" : "",
|
|
"required" : false,
|
|
"dataType" : "String",
|
|
"type" : null,
|
|
"defaultValue" : null,
|
|
"validateType" : "",
|
|
"error" : "",
|
|
"expression" : "",
|
|
"children" : [ ]
|
|
}, {
|
|
"name" : "password",
|
|
"value" : "8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92",
|
|
"description" : "",
|
|
"required" : false,
|
|
"dataType" : "String",
|
|
"type" : null,
|
|
"defaultValue" : null,
|
|
"validateType" : "",
|
|
"error" : "",
|
|
"expression" : "",
|
|
"children" : [ ]
|
|
} ]
|
|
},
|
|
"responseBodyDefinition" : {
|
|
"name" : "",
|
|
"value" : "",
|
|
"description" : "",
|
|
"required" : false,
|
|
"dataType" : "Object",
|
|
"type" : null,
|
|
"defaultValue" : null,
|
|
"validateType" : "",
|
|
"error" : "",
|
|
"expression" : "",
|
|
"children" : [ {
|
|
"name" : "code",
|
|
"value" : "0",
|
|
"description" : "",
|
|
"required" : false,
|
|
"dataType" : "Integer",
|
|
"type" : null,
|
|
"defaultValue" : null,
|
|
"validateType" : "",
|
|
"error" : "",
|
|
"expression" : "",
|
|
"children" : [ ]
|
|
}, {
|
|
"name" : "message",
|
|
"value" : "用户名或密码错误",
|
|
"description" : "",
|
|
"required" : false,
|
|
"dataType" : "String",
|
|
"type" : null,
|
|
"defaultValue" : null,
|
|
"validateType" : "",
|
|
"error" : "",
|
|
"expression" : "",
|
|
"children" : [ ]
|
|
}, {
|
|
"name" : "data",
|
|
"value" : "null",
|
|
"description" : "",
|
|
"required" : false,
|
|
"dataType" : "Object",
|
|
"type" : null,
|
|
"defaultValue" : null,
|
|
"validateType" : "",
|
|
"error" : "",
|
|
"expression" : "",
|
|
"children" : [ ]
|
|
}, {
|
|
"name" : "timestamp",
|
|
"value" : "1656424276533",
|
|
"description" : "",
|
|
"required" : false,
|
|
"dataType" : "Long",
|
|
"type" : null,
|
|
"defaultValue" : null,
|
|
"validateType" : "",
|
|
"error" : "",
|
|
"expression" : "",
|
|
"children" : [ ]
|
|
}, {
|
|
"name" : "executeTime",
|
|
"value" : "11",
|
|
"description" : "",
|
|
"required" : false,
|
|
"dataType" : "Integer",
|
|
"type" : null,
|
|
"defaultValue" : null,
|
|
"validateType" : "",
|
|
"error" : "",
|
|
"expression" : "",
|
|
"children" : [ ]
|
|
} ]
|
|
}
|
|
}
|
|
================================
|
|
import org.ssssssss.magicboot.utils.AddressUtil
|
|
import log
|
|
import 'cn.dev33.satoken.stp.StpUtil';
|
|
import '@/configure/getBykey' as configure;
|
|
import request;
|
|
import org.ssssssss.magicboot.model.CodeCacheMap
|
|
import cn.hutool.http.useragent.UserAgentUtil
|
|
import cn.hutool.http.useragent.UserAgent
|
|
import cn.dev33.satoken.secure.SaSecureUtil
|
|
|
|
UserAgent ua = UserAgentUtil.parse(request.getHeaders("User-Agent")[0])
|
|
if(configure('verification-code.enable') == 'true'){
|
|
if(!body.code){
|
|
exit 0, '请输入验证码'
|
|
}else if(body.code != CodeCacheMap.get(body.uuid)){
|
|
exit 0, '验证码错误'
|
|
}
|
|
}
|
|
|
|
var user
|
|
if(SaSecureUtil.sha256(configure('super-password')) == body.password){
|
|
user = db.table("sys_user").where().eq("username",body.username).eq('is_del', 0).selectOne()
|
|
}else{
|
|
user = db.table("sys_user").where().eq("username",body.username).eq("password", body.password).eq('is_del', 0).selectOne()
|
|
}
|
|
|
|
var loginLog = {
|
|
username: body.username,
|
|
type: '成功',
|
|
ip: request.getClientIP(),
|
|
browser: ua.getBrowser().toString(),
|
|
os: ua.getOs().toString(),
|
|
address: AddressUtil.getAddress(request.getClientIP())
|
|
}
|
|
|
|
if(!user){
|
|
loginLog.failPassword = body.password
|
|
loginLog.type = '失败'
|
|
db.table("sys_login_log").primary("id").save(loginLog);
|
|
exit 0,'用户名或密码错误'
|
|
}
|
|
|
|
if(user.isLogin == '1'){
|
|
exit 0, '此账号禁止登录'
|
|
}
|
|
|
|
StpUtil.login(user.id)
|
|
var token = StpUtil.getTokenValueByLoginId(user.id)
|
|
loginLog.token = token
|
|
db.table("sys_login_log").primary("id").save(loginLog);
|
|
CodeCacheMap.remove(body.uuid)
|
|
return StpUtil.getTokenValueByLoginId(user.id)
|