merge
This commit is contained in:
commit
b73cf0ee77
3 changed files with 12 additions and 4 deletions
|
@ -9,6 +9,7 @@ import (
|
|||
"net/http"
|
||||
|
||||
"github.com/martini-contrib/render"
|
||||
"github.com/martini-contrib/sessions"
|
||||
|
||||
"github.com/gogits/validation"
|
||||
|
||||
|
@ -23,7 +24,7 @@ func Profile(r render.Render) {
|
|||
return
|
||||
}
|
||||
|
||||
func SignIn(req *http.Request, r render.Render) {
|
||||
func SignIn(req *http.Request, r render.Render, session sessions.Session) {
|
||||
if req.Method == "GET" {
|
||||
r.HTML(200, "user/signin", map[string]interface{}{
|
||||
"Title": "Log In",
|
||||
|
@ -31,14 +32,16 @@ func SignIn(req *http.Request, r render.Render) {
|
|||
return
|
||||
}
|
||||
|
||||
// todo sign in
|
||||
_, err := models.LoginUserPlain(req.FormValue("account"), req.FormValue("passwd"))
|
||||
// TODO: LDAP sign in
|
||||
user, err := models.LoginUserPlain(req.FormValue("account"), req.FormValue("passwd"))
|
||||
if err != nil {
|
||||
r.HTML(200, "base/error", map[string]interface{}{
|
||||
"Error": fmt.Sprintf("%v", err),
|
||||
})
|
||||
return
|
||||
}
|
||||
session.Set("userId", user.Id)
|
||||
session.Set("userName", user.Name)
|
||||
r.Redirect("/")
|
||||
}
|
||||
|
||||
|
|
5
web.go
5
web.go
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/codegangsta/cli"
|
||||
"github.com/codegangsta/martini"
|
||||
"github.com/martini-contrib/render"
|
||||
"github.com/martini-contrib/sessions"
|
||||
|
||||
"github.com/gogits/gogs/routers"
|
||||
"github.com/gogits/gogs/routers/repo"
|
||||
|
@ -46,6 +47,10 @@ func runWeb(*cli.Context) {
|
|||
// Middleware.
|
||||
m.Use(render.Renderer(render.Options{Funcs: []template.FuncMap{AppHelpers}}))
|
||||
|
||||
// TODO: should use other store because cookie store is not secure.
|
||||
store := sessions.NewCookieStore([]byte("secret123"))
|
||||
m.Use(sessions.Sessions("my_session", store))
|
||||
|
||||
// Routers.
|
||||
m.Get("/", routers.Dashboard)
|
||||
m.Any("/login", user.SignIn)
|
||||
|
|
Reference in a new issue