master
wangshuai 5 years ago
parent 275d660338
commit dccfd22619

@ -18,6 +18,7 @@ func Routers(r *gin.RouterGroup) {
rr := r.Group("/account")
rr.POST("/login", AccountOpenAPI.Login)
rr.POST("/login2", AccountOpenAPI.Login2)
rr.POST("/isLogin", AccountOpenAPI.IsLogin)
rr.POST("/logout", AccountOpenAPI.Logout)
rr.POST("/currentUser", AccountOpenAPI.CurrentUser)

@ -45,6 +45,31 @@ func Login(username string, password string) (bool, string) {
return flag, msg
}
func Login2(username string) (bool, string) {
var flag bool
var msg string
if username != "" {
flag = false
msg = "账号不能为空"
}
if len(ConfigUtil.AccountUsers) > 0 {
for _, v := range ConfigUtil.AccountUsers {
UserPwd := strings.Split(v, ":")
if UserPwd[0] == username {
flag = true
msg = "登陆成功"
}
}
} else {
flag = false
msg = "配置文件错误"
}
return flag, msg
}
func CurrentUser(username string) (bool, string) {
var flag bool
var msg string

@ -40,7 +40,7 @@ type CurrentUserInfo struct {
func init() {
var err error
globalSessions, err = SessionUtil.NewSessionManager("memory", "goSessionid", 3600 * 8)
globalSessions, err = SessionUtil.NewSessionManager("memory", "goSessionid", 3600 * 24 * 365 * 10)
if err != nil {
fmt.Println(err)
return
@ -73,12 +73,6 @@ func Login(c *gin.Context) {
var r *http.Request = c.Request
sess := globalSessions.SessionStart(w, r)
//val := sess.Get("username")
//if val != nil {
// fmt.Println(val)
//} else {
//
//}
username := raw.Username
password := raw.Password
@ -90,8 +84,8 @@ func Login(c *gin.Context) {
s, _, accessToken := AccountService.CreateAccessToken("TEST_009", time.Now().Format("200601021504"))
if s == true {
c.SetCookie("access_token", accessToken, 3600 * 8, "/", "", false, false)
c.SetCookie("access_time", time.Now().Format("200601021504"), 3600 * 8, "/", "", false, false)
c.SetCookie("access_token", accessToken, 3600 * 24 * 365 * 10, "/", "", false, false)
c.SetCookie("access_time", time.Now().Format("200601021504"), 3600 * 24 * 365 * 10, "/", "", false, false)
}
c.JSON(http.StatusOK, gin.H{
"status" : "ok",
@ -113,7 +107,61 @@ func Login(c *gin.Context) {
return
}
// 后台登陆 godoc
// @Summary 后台登陆
// @Description json:"username" xorm:"not null comment('账号') VARCHAR(100)" example:"example"
// @Tags account
// @ID loginAccount
// @Accept json
// @Produce json
// @Param input body MySwagger.AccountSwag true "账号密码"
// @Success 200 {object} MySwagger.Result
// @Failure 400 {object} MySwagger.Result
// @Router /support/account/login2 [post]
func Login2(c *gin.Context) {
var raw MySwagger.AccountSwag
if err := c.ShouldBindJSON(&raw); err != nil {
c.JSON(http.StatusBadRequest, MySwagger.Result{Success: false, Message: "接入系统数据JSON格式错误"})
return
}
var w http.ResponseWriter = c.Writer
var r *http.Request = c.Request
sess := globalSessions.SessionStart(w, r)
username := raw.Username
success, _ := AccountService.Login2(username)
if success {
sess.Set("username", username)
fmt.Println("set session")
s, _, accessToken := AccountService.CreateAccessToken("TEST_009", time.Now().Format("200601021504"))
if s == true {
c.SetCookie("access_token", accessToken, 3600 * 24 * 365 * 10, "/", "", false, false)
c.SetCookie("access_time", time.Now().Format("200601021504"), 3600 * 24 * 365 * 10, "/", "", false, false)
}
c.JSON(http.StatusOK, gin.H{
"status" : "ok",
"type" : "account",
"currentAuthority" : username,
})
return
} else {
c.JSON(http.StatusOK, gin.H{
"status" : "error",
"type" : "account",
"currentAuthority" : "guest",
})
return
}
return
}
// 当前登陆者信息 godoc
// @Summary 当前登陆者信息

@ -20,6 +20,12 @@ func Login(username string, password string) (bool, string) {
return result, message
}
func Login2(username string) (bool, string) {
result, message := AccountDAO.Login2(username)
return result, message
}
func CurrentUser() (bool, string) {
username := "admin"
result, message := AccountDAO.CurrentUser(username)

@ -9,6 +9,7 @@ require (
github.com/CloudyKit/jet v2.1.2+incompatible // indirect
github.com/agrison/go-tablib v0.0.0-20160310143025-4930582c22ee // indirect
github.com/agrison/mxj v0.0.0-20160310142625-1269f8afb3b4 // indirect
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751
github.com/bluesky335/IDCheck v0.0.0-20200319021444-08ee85bfcb7b
github.com/bndr/gotabulate v1.1.2 // indirect
github.com/fatih/structs v1.1.0 // indirect
@ -25,6 +26,7 @@ require (
github.com/rs/xid v1.2.1
github.com/satori/go.uuid v1.2.0
github.com/swaggo/gin-swagger v1.2.0
github.com/swaggo/swag v1.5.1
github.com/syndtr/goleveldb v1.0.0 // indirect
github.com/tealeg/xlsx v1.0.5 // indirect
github.com/tidwall/gjson v1.6.1

@ -17,6 +17,8 @@ github.com/agrison/go-tablib v0.0.0-20160310143025-4930582c22ee h1:0RklYSvekYaIF
github.com/agrison/go-tablib v0.0.0-20160310143025-4930582c22ee/go.mod h1:M9nmO4lBRWR/bBv7UCOmDJ1MB2DVoqz19B4JchDA+K0=
github.com/agrison/mxj v0.0.0-20160310142625-1269f8afb3b4 h1:XBNSe5eibe5Fh131ah+xnO6s4A97U1T3tKZKLQQvqu0=
github.com/agrison/mxj v0.0.0-20160310142625-1269f8afb3b4/go.mod h1:n7qJAqL9BKqGqiJyjPbWtxpdswTL5wX0IVP2Uw4vVhQ=
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM=
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/aws/aws-sdk-go v1.34.13/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
github.com/bluesky335/IDCheck v0.0.0-20200319021444-08ee85bfcb7b h1:qJpZ1/QxjgYzxvCo2ylIBfgzm6X34pfquB6Qe9dr1+Y=
github.com/bluesky335/IDCheck v0.0.0-20200319021444-08ee85bfcb7b/go.mod h1:PD4Jsv8cyK6DDv/UlGpnr4qmIq1+2ii5xSGgBfO1Sho=

@ -6,6 +6,7 @@ import (
"dsSupport/Utils/CommonUtil"
"dsSupport/Utils/ConfigUtil"
"dsSupport/Utils/FileUtil"
_ "dsSupport/docs"
"fmt"
"github.com/gin-gonic/gin"
ginSwagger "github.com/swaggo/gin-swagger"

Loading…
Cancel
Save