mirror of
https://github.com/tengge1/ShadowEditor.git
synced 2026-01-25 15:08:11 +00:00
update login
This commit is contained in:
parent
6f4acd9f32
commit
bba4e4c60e
@ -20,17 +20,11 @@ import (
|
||||
)
|
||||
|
||||
func init() {
|
||||
login := Login{}
|
||||
server.Mux.UsingContext().Handle(http.MethodPost, "/api/Login/Login", login.Login)
|
||||
server.Mux.UsingContext().Handle(http.MethodPost, "/api/Login/Logout", login.Logout)
|
||||
server.Mux.UsingContext().Handle(http.MethodPost, "/api/Login/Login", Login)
|
||||
}
|
||||
|
||||
// Login 登录控制器
|
||||
type Login struct {
|
||||
}
|
||||
|
||||
// Login 登录
|
||||
func (Login) Login(w http.ResponseWriter, r *http.Request) {
|
||||
// Login log in the system.
|
||||
func Login(w http.ResponseWriter, r *http.Request) {
|
||||
r.ParseForm()
|
||||
username := strings.TrimSpace(r.FormValue("Username"))
|
||||
password := strings.TrimSpace(r.FormValue("Password"))
|
||||
@ -51,7 +45,7 @@ func (Login) Login(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
// 获取Salt
|
||||
// get salt
|
||||
db, err := server.Mongo()
|
||||
if err != nil {
|
||||
helper.WriteJSON(w, server.Result{
|
||||
@ -77,7 +71,7 @@ func (Login) Login(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
salt := user["Salt"].(string)
|
||||
|
||||
// 验证账号密码
|
||||
// verity password
|
||||
filter1 := bson.M{
|
||||
"Password": helper.MD5(password + salt),
|
||||
}
|
||||
@ -117,25 +111,3 @@ func (Login) Login(w http.ResponseWriter, r *http.Request) {
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
// Logout 注销
|
||||
func (Login) Logout(w http.ResponseWriter, r *http.Request) {
|
||||
cookie, err := r.Cookie("UserID")
|
||||
if err != nil {
|
||||
helper.WriteJSON(w, server.Result{
|
||||
Code: 300,
|
||||
Msg: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
cookie.Expires = time.Now().AddDate(0, 0, -1)
|
||||
cookie.HttpOnly = true
|
||||
cookie.Path = "/"
|
||||
cookie.SameSite = http.SameSiteDefaultMode
|
||||
http.SetCookie(w, cookie)
|
||||
|
||||
helper.WriteJSON(w, server.Result{
|
||||
Code: 200,
|
||||
Msg: "Logout Successfully!",
|
||||
})
|
||||
}
|
||||
|
||||
@ -21,9 +21,7 @@ func TestLogin(t *testing.T) {
|
||||
server.Create("../../config.toml")
|
||||
server.Config.Authority.Enabled = true
|
||||
|
||||
login := Login{}
|
||||
|
||||
ts := httptest.NewServer(http.HandlerFunc(login.Login))
|
||||
ts := httptest.NewServer(http.HandlerFunc(Login))
|
||||
defer ts.Close()
|
||||
|
||||
res, err := http.PostForm(ts.URL, url.Values{
|
||||
@ -49,9 +47,7 @@ func TestLogout(t *testing.T) {
|
||||
server.Create("../../config.toml")
|
||||
server.Config.Authority.Enabled = true
|
||||
|
||||
login := Login{}
|
||||
|
||||
ts := httptest.NewServer(http.HandlerFunc(login.Logout))
|
||||
ts := httptest.NewServer(http.HandlerFunc(Logout))
|
||||
defer ts.Close()
|
||||
|
||||
res, err := http.PostForm(ts.URL, url.Values{})
|
||||
|
||||
42
server/server/system/login/handle_logout.go
Normal file
42
server/server/system/login/handle_logout.go
Normal file
@ -0,0 +1,42 @@
|
||||
// Copyright 2017-2020 The ShadowEditor Authors. All rights reserved.
|
||||
// Use of this source code is governed by a MIT-style
|
||||
// license that can be found in the LICENSE file.
|
||||
//
|
||||
// For more information, please visit: https://github.com/tengge1/ShadowEditor
|
||||
// You can also visit: https://gitee.com/tengge1/ShadowEditor
|
||||
|
||||
package login
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"github.com/tengge1/shadoweditor/helper"
|
||||
"github.com/tengge1/shadoweditor/server"
|
||||
)
|
||||
|
||||
func init() {
|
||||
server.Mux.UsingContext().Handle(http.MethodPost, "/api/Login/Logout", Logout)
|
||||
}
|
||||
|
||||
// Logout log out the system.
|
||||
func Logout(w http.ResponseWriter, r *http.Request) {
|
||||
cookie, err := r.Cookie("UserID")
|
||||
if err != nil {
|
||||
helper.WriteJSON(w, server.Result{
|
||||
Code: 300,
|
||||
Msg: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
cookie.Expires = time.Now().AddDate(0, 0, -1)
|
||||
cookie.HttpOnly = true
|
||||
cookie.Path = "/"
|
||||
cookie.SameSite = http.SameSiteDefaultMode
|
||||
http.SetCookie(w, cookie)
|
||||
|
||||
helper.WriteJSON(w, server.Result{
|
||||
Code: 200,
|
||||
Msg: "Logout Successfully!",
|
||||
})
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user