/
main.go
82 lines (69 loc) · 1.89 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
package main
import (
"github.com/astaxie/beego"
"github.com/everfore/fservice/controllers"
_ "github.com/everfore/fservice/routers"
"fmt"
// "github.com/astaxie/beego/session"
"github.com/astaxie/beego/context"
"github.com/astaxie/beego/toolbox"
"github.com/everfore/fservice/models"
_ "github.com/astaxie/beego/session/mysql"
_ "github.com/go-sql-driver/mysql"
)
func main() {
app := beego.Include(&controllers.FileServerController{})
beego.ErrorController(&controllers.ErrorController{})
// beego.InsertFilter("/*", beego.BeforeRouter, CheckLogin)
app.Run()
}
// var GlobalSessions *session.Manager
func init() {
beego.SetStaticPath("/public", "static")
// toolbox_init()
// session_init()
}
func session_init() {
// beego.SessionOn = true
// beego.SessionProvider = "file"
// beego.SessionName = "begosessionid"
// beego.SessionGCMaxLifetime = 3600
// beego.SessionCookieLifeTime = 3600
// beego.SessionSavePath = "./sessionpath"
}
func toolbox_init() {
// toolbox healthcheck task
beego.EnableAdmin = true
beego.AdminHttpAddr = "localhost"
beego.AdminHttpPort = 8088
toolbox.AddHealthCheck("database", &DatabaseCheck{})
go a()
}
type DatabaseCheck struct {
}
func (c *DatabaseCheck) Check() error {
return nil
}
func a() {
tk := toolbox.NewTask("taska", "0/10 * * * * *", func() error { fmt.Println("hello world"); return nil })
err := tk.Run()
if err != nil {
beego.Error(err)
}
toolbox.AddTask("taska", tk)
toolbox.StartTask()
}
func CheckLogin(ctx *context.Context) {
if ctx.Request.RequestURI != "/login" {
sess, err := models.GlobalSessions.SessionStart(ctx.ResponseWriter, ctx.Request)
if err != nil || sess == nil {
ctx.Abort(401, "session nil")
}
sessioner := sess.Get("gosessionkey")
beego.Debug("session:", sess)
beego.Debug("check login gosessionkey:", sessioner)
if fmt.Sprintf("%v", sessioner) != "beego1234" {
ctx.Redirect(401, "/login")
}
}
}