本文整理汇总了Golang中github.com/martini-contrib/sessions.Sessions函数的典型用法代码示例。如果您正苦于以下问题:Golang Sessions函数的具体用法?Golang Sessions怎么用?Golang Sessions使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Sessions函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: main
func main() {
ga.AdminPort = 8000
ga.MysqlDsn = "root:[email protected](192.168.1.15:3306)/galaxy2"
ga.TemplatePath = "/Users/sunlei/go/src/galaxy/templates"
ga.DbName = "default"
go ga.Run()
m := martini.Classic()
store := sessions.NewCookieStore([]byte("secret123"))
m.Use(render.Renderer(render.Options{
Directory: "/Users/sunlei/go/src/github.com/go-galaxy/galaxy/example/template", // Specify what path to load the templates from.
Extensions: []string{".tmpl", ".html"}, // Specify extensions to load for templates.
Layout: "",
}))
m.Use(sessions.Sessions("my_session", store))
m.Use(func(res http.ResponseWriter, req *http.Request, session sessions.Session) {
if strings.Contains(req.URL.String(), "login") {
return
}
v := session.Get("login")
if v == nil {
http.Redirect(res, req, "login", http.StatusFound)
}
})
m.Use(sessions.Sessions("my_session", store))
m.Get("/login", Login)
m.Get("/", Index)
m.Post("/login", Login)
m.Get("/logout", LogOut)
m.Get("/test", Test)
m.RunOnAddr(":3000")
}
开发者ID:go-galaxy,项目名称:galaxy,代码行数:31,代码来源:example.go
示例2: InitSession
//InitSession - initializes authentication middleware for controllers
func InitSession(m *martini.ClassicMartini, rc redisCreds) {
m.Use(render.Renderer())
if rediStore, err := sessions.NewRediStore(10, "tcp", rc.Uri(), rc.Pass(), []byte(sessionSecret)); err == nil {
m.Use(sessions.Sessions(sessionName, rediStore))
}
}
开发者ID:malston,项目名称:pezauth,代码行数:8,代码来源:auth.go
示例3: main
func main() {
m := martini.Classic()
m.Map(SetupDB())
m.Use(martini.Logger())
m.Use(render.Renderer(render.Options{
Layout: "layout",
}))
store := sessions.NewCookieStore([]byte(CookieSecret))
m.Use(sessions.Sessions("bunkaisession", store))
log.Println("env is", martini.Env)
m.Map(martini.Env)
m.Group("/", func(m martini.Router) {
m.Get("", Home)
}, AssetMap)
m.Group("/api", func(m martini.Router) {
m.Post("/login", PostLogin)
m.Post("/users", UserCreate)
m.Group("/sentences", func(m martini.Router) {
m.Post("", SentenceCreate)
m.Get("", SentenceList)
m.Delete("/:id", SentenceDelete)
}, RequireLogin)
m.Group("/users", func(m martini.Router) {
m.Post("/logout", Logout)
m.Get("/me", UserGet)
}, RequireLogin)
})
m.Run()
}
开发者ID:ukitazume,项目名称:bunkai,代码行数:35,代码来源:server.go
示例4: main
func main() {
m := martini.Classic()
dbMap := initDb()
m.Map(dbMap)
store := sessions.NewCookieStore([]byte("nonotestetstsst"))
m.Use(sessions.Sessions("gogonki", store))
m.Use(render.Renderer())
m.Get("/", Index)
m.Get("/coords", Coords)
m.Get("/move/:x/:y", Move) // ToDo: make this post request
m.Get("/state", GetState)
m.Get("/profile", ShowProfile)
m.Get("/login", LoginForm)
m.Post("/login", Login)
m.Get("/logout", Logout)
m.Post("/create", binding.Bind(User{}), CreateUser)
m.Get("/signup", SignupForm)
m.Post("/signup", Signup)
m.Post("/create-room", CreateRoom)
m.Post("/list-rooms", ListRooms)
//m.Use(Auth)
m.Run()
}
开发者ID:kilatev,项目名称:GoGonki,代码行数:25,代码来源:server.go
示例5: Test_LogoutOnAccessTokenExpiration
func Test_LogoutOnAccessTokenExpiration(t *testing.T) {
recorder := httptest.NewRecorder()
s := sessions.NewCookieStore([]byte("secret123"))
m := martini.Classic()
m.Use(sessions.Sessions("my_session", s))
m.Use(Google(&Options{
// no need to configure
}))
m.Get("/addtoken", func(s sessions.Session) {
s.Set(keyToken, "dummy token")
})
m.Get("/", func(s sessions.Session) {
if s.Get(keyToken) != nil {
t.Errorf("User not logged out although access token is expired.")
}
})
addtoken, _ := http.NewRequest("GET", "/addtoken", nil)
index, _ := http.NewRequest("GET", "/", nil)
m.ServeHTTP(recorder, addtoken)
m.ServeHTTP(recorder, index)
}
开发者ID:natebeck,项目名称:oauth2,代码行数:25,代码来源:oauth2_test.go
示例6: main
func main() {
m := martini.Classic()
store := sessions.NewCookieStore([]byte("secret-isucon"))
m.Use(sessions.Sessions("isucon_go_session", store))
m.Use(martini.Static("../public"))
m.Use(render.Renderer(render.Options{
Layout: "layout",
}))
m.Get("/", func(r render.Render, session sessions.Session) {
r.HTML(200, "index", map[string]string{"Flash": getFlash(session, "notice")})
})
m.Post("/login", func(req *http.Request, r render.Render, session sessions.Session) {
user, err := attemptLogin(req)
notice := ""
if err != nil || user == nil {
switch err {
case ErrBannedIP:
notice = "You're banned."
case ErrLockedUser:
notice = "This account is locked."
default:
notice = "Wrong username or password"
}
session.Set("notice", notice)
r.Redirect("/")
return
}
session.Set("user_id", strconv.Itoa(user.ID))
r.Redirect("/mypage")
})
m.Get("/mypage", func(r render.Render, session sessions.Session) {
currentUser := getCurrentUser(session.Get("user_id"))
if currentUser == nil {
session.Set("notice", "You must be logged in")
r.Redirect("/")
return
}
currentUser.getLastLogin()
r.HTML(200, "mypage", currentUser)
})
m.Get("/report", func(r render.Render) {
r.JSON(200, map[string][]string{
"banned_ips": bannedIPs(),
"locked_users": lockedUsers(),
})
})
http.ListenAndServe(":8080", m)
}
开发者ID:shogo82148,项目名称:isucon4_powawa,代码行数:60,代码来源:main.go
示例7: main
func main() {
m := martini.Classic()
conf := config.LoadConf(martini.Env)
//create new session middleware
store := sessions.NewCookieStore([]byte("MushareSecret"))
store.Options(sessions.Options{
Path: "/",
Domain: conf.App.Host,
MaxAge: 60 * 60 * 60 * 24,
HttpOnly: true,
})
//middleware
m.Handlers(
middlewares.LogOutput,
middlewares.Recovery(),
martini.Logger(),
sessions.Sessions("_session", store),
martini.Static("static", martini.StaticOptions{}),
middlewares.InjectRedis(),
middlewares.InjectDB(),
)
m.Map(conf)
//routers
router.Include(m)
//start server
m.RunOnAddr(conf.App.Host + ":" + conf.App.Port)
}
开发者ID:ts25504,项目名称:MuShare,代码行数:29,代码来源:app.go
示例8: adminserver
func adminserver() {
m := martini.Classic()
// m.Use(martini.Static("./assets/"))
store := sessions.NewCookieStore([]byte("secret123"))
m.Use(sessions.Sessions("51jczj_session", store))
m.Use(render.Renderer(render.Options{
Layout: "admin_layout",
}))
/***********static*************/
m.Get("/css/**", http.FileServer(http.Dir("./assets")).ServeHTTP)
m.Get("/editor/**", http.FileServer(http.Dir("./assets")).ServeHTTP)
m.Get("/fonts/**", http.FileServer(http.Dir("./assets")).ServeHTTP)
m.Get("/img/**", http.FileServer(http.Dir("./assets")).ServeHTTP)
m.Get("/js/**", http.FileServer(http.Dir("./assets")).ServeHTTP)
/***********biz*************/
m.Get("/", admin.ArchivesHandler)
m.Get("/archives", admin.ArchivesHandler)
m.Post("/login", admin.LoginHandler)
m.Get("/logout", admin.LogoutHandler)
m.Get("/login", admin.GoLoginHandler)
m.Get("/login/:path", admin.GoLoginHandler)
http.ListenAndServe(fmt.Sprintf(":%s", base.AdminWebPort), m)
}
开发者ID:chinab,项目名称:enterprise-manage,代码行数:29,代码来源:server_admin.go
示例9: NewApi
func NewApi(address string, rdb *db.Rethinkdb, auth auth.Authenticator, sessionKey string) (*dialogueApi, error) {
m := martini.Classic()
// sessions
store := sessions.NewCookieStore([]byte(sessionKey))
m.Use(sessions.Sessions("dialogue", store))
a := &dialogueApi{
m: m,
rdb: rdb,
auth: auth,
address: address,
}
// middleware
m.Use(render.Renderer())
// routes
// content
m.Get("/topics", a.apiAuthorize, a.GetTopics)
m.Post("/topics", a.apiAuthorize, a.PostTopics)
m.Post("/topics/:topicId", a.apiAuthorize, a.PostTopicsPosts)
m.Get("/topics/:topicId", a.apiAuthorize, a.GetTopic)
m.Delete("/topics/:topicId", a.apiAuthorize, a.DeleteTopic)
m.Delete("/posts/:postId", a.apiAuthorize, a.DeletePost)
// authentication
m.Post("/auth", a.Authenticate)
m.Post("/users", a.apiAuthorize, a.PostUsers)
m.Put("/users/:username", a.apiAuthorize, a.PutUser)
// setup
m.Get("/setup", a.Setup)
return a, nil
}
开发者ID:carriercomm,项目名称:dialogue-1,代码行数:32,代码来源:api.go
示例10: main
func main() {
m := martini.Classic()
// set up the session, and map it into martini
store := sessions.NewCookieStore([]byte("secret-pass"))
m.Use(sessions.Sessions("go-webapp", store))
//on login, we will set the users username in the session
m.Post("/login", func(w http.ResponseWriter, r *http.Request, session sessions.Session) string {
username := r.FormValue("username")
session.Set("username", username)
http.Redirect(w, r, "/home", http.StatusFound)
return "OK"
})
//if the user has no username, we will redirect them to the login page
m.Get("/home", authorize, func(user *User) string {
return "Welcome back, " + user.Username
})
//on logout, clear the username in the session
m.Get("/logout", func(w http.ResponseWriter, r *http.Request, session sessions.Session) string {
session.Delete("username")
http.Redirect(w, r, "/login", http.StatusFound)
return "OK"
})
m.Run()
}
开发者ID:kvannotten,项目名称:projects,代码行数:29,代码来源:server.go
示例11: main
func main() {
m := martini.Classic()
m.Use(render.Renderer(render.Options{
Layout: "layout",
Funcs: []template.FuncMap{
{
"add": func(a, b int) int {
return a + b
},
},
},
}))
m.Use(sessions.Sessions("reader_session", nil))
m.Get("/", controllers.HomeController)
m.Get("/read/*", controllers.ReadController)
fmt.Println("Listening on port 8989")
err := http.ListenAndServe(":8989", m)
if err != nil {
fmt.Println(err)
}
}
开发者ID:mpgarate,项目名称:justread,代码行数:25,代码来源:server.go
示例12: main
func main() {
m := martini.Classic()
m.Use(martini_amber.Renderer(map[string]string{
}))
store := sessions.NewCookieStore([]byte("secret...."))
m.Use(sessions.Sessions("msession",store))
m.Get("/", func(r martini_amber.Render,request *http.Request,session sessions.Session) {
log.Println(request.UserAgent())
name := session.Get("name")
if name==nil && request.FormValue("name")!=""{
session.Set("name",request.FormValue("name"))
}
vars := map[string]interface{}{"cats": []string{"Home", "Product", "Contact","Live Showing"},"arts":arts,"name":name}
r.Amber(200, "home", vars)
})
m.Get("/test", func(r martini_amber.Render,request *http.Request,session sessions.Session) {
log.Println(request.UserAgent())
name := session.Get("name")
if name==nil && request.FormValue("name")!=""{
session.Set("name",request.FormValue("name"))
}
vars := map[string]interface{}{"cats": []string{"Home", "Product", "Contact","Live Showing"},"arts":arts,"name":name}
r.Amber(200, "test", vars)
})
m.RunOnAddr(":8080")
}
开发者ID:secmask,项目名称:mpage,代码行数:29,代码来源:server.go
示例13: main
func main() {
cfg, err := os.Open("config.json")
if err != nil {
log.Fatal(err)
}
parser := json.NewDecoder(cfg)
if err = parser.Decode(common.Config); err != nil {
log.Fatal(err)
}
initDB()
initQueue()
initS3()
m := martini.Classic()
store := sessions.NewCookieStore([]byte(common.Config.SessionsSecret))
m.Use(sessions.Sessions("semquery", store))
m.Use(render.Renderer(render.Options{
Layout: "layout",
}))
m.Use(common.UserInject)
routes.RegisterRoutes(m)
if len(os.Args) > 1 {
m.RunOnAddr(os.Args[1])
} else {
m.Run()
}
}
开发者ID:SemQuery,项目名称:web,代码行数:32,代码来源:server.go
示例14: main
func main() {
db := sqlx.MustConnect("postgres", "postgres://localhost:15432/auth_sh?sslmode=disable")
defer db.Close()
s := oauth.New(db)
m := martini.Classic()
m.Use(handlers.NoCache())
m.Use(sessions.Sessions("auth-sh", sessions.NewCookieStore([]byte("secret123"))))
m.Use(render.Renderer(render.Options{Layout: "layout"}))
m.Use(dump_request)
m.Map(db)
m.Map(s)
m.Get("/login", handlers.GET_login)
m.Get("/link", handlers.GET_link)
m.Any("/authorize", handlers.GET_authorize)
m.Any("/token", handlers.GET_token)
m.Any("/info", handlers.GET_info)
m.Get("/continue/:provider", handlers.GET_continue)
m.Get("/logout", handlers.GET_logout)
m.Get("/callback", handlers.GET_callback)
m.Get("/", handlers.MayAuthenticate(), handlers.GET_home)
m.Get("/me", handlers.MustAuthenticate(), handlers.GET_me)
m.Get("/profile", handlers.MustAuthenticate(), handlers.GET_profile)
m.Post("/applications", handlers.MustAuthenticate(), handlers.POST_application)
m.Run()
}
开发者ID:rogeriomarques,项目名称:oapx,代码行数:30,代码来源:main.go
示例15: main
func main() {
m := martini.Classic()
m.Map(SetupDB())
m.Use(render.Renderer(render.Options{
Layout: "layout",
Funcs: []template.FuncMap{
{
"unescaped": func(args ...interface{}) template.HTML {
return template.HTML(args[0].(string))
},
},
},
}))
//Sessions
store := sessions.NewCookieStore([]byte("secret123"))
m.Use(sessions.Sessions("vsauth", store))
m.Get("/", IndexArticles)
m.Get("/create", CreateArticle)
m.Get("/read", ReadArticle)
m.Get("/update", UpdateArticle)
m.Get("/delete", DeleteArticle)
m.Post("/save", SaveArticle)
m.Get("/login", LoginForm)
m.Post("/login", UserLogin)
m.Get("/signup", SignupForm)
m.Post("/signup", UserSignup)
m.Get("/logout", UserLogout)
m.Get("/wrong", WrongLogin)
m.Run()
}
开发者ID:qapi,项目名称:goblog-playground,代码行数:33,代码来源:main.go
示例16: NewWeb
func NewWeb(mailConf *conf.MailConf, debug bool) *MailWeb {
var web *MailWeb = new(MailWeb)
web.mconf = mailConf
web.debug = debug
web.userTimeout = 86400 // 1 day
store := sessions.NewCookieStore(securecookie.GenerateRandomKey(128))
// 1) Set a maximum age for the client-side cookies (forces a session timeout afterwards)
store.Options(sessions.Options{MaxAge: int(web.userTimeout)})
web.martini = martini.Classic()
web.martini.Use(render.Renderer(render.Options{
Directory: "static/templates",
Extensions: []string{".html"},
}))
web.martini.Use(sessions.Sessions("watneySession", store))
web.martini.Use(sessionauth.SessionUser(auth.GenerateAnonymousUser))
sessionauth.RedirectUrl = "/sessionTimeout"
sessionauth.RedirectParam = "next"
// 2) Register a cleanup go routine that checks every x minutes, for outdated users, which
// simply left the page without logging out
web.registerUserCleanup(30)
// x) Define and set all handlers
web.initHandlers()
return web
}
开发者ID:mdrobek,项目名称:watney,代码行数:28,代码来源:web.go
示例17: StartWeb
func StartWeb() {
m := martini.Classic()
store := sessions.NewCookieStore([]byte("mandela"))
m.Use(sessions.Sessions("session", store))
m.Use(render.Renderer(render.Options{
Extensions: []string{".html"},
}))
m.Use(martini.Static("../../statics"))
r := martini.NewRouter()
r.Get("/", Home_handler) //首页
r.Get("/getdomain", GetDomain_handler) //获得本机的域名
m.Action(r.Handle)
webPort := 80
for i := 0; i < 1000; i++ {
_, err := net.ListenPacket("udp", ":"+strconv.Itoa(webPort))
if err != nil {
webPort = webPort + 1
} else {
break
}
}
m.RunOnAddr(":" + strconv.Itoa(webPort))
m.Run()
}
开发者ID:cokeboL,项目名称:mandela,代码行数:30,代码来源:web.go
示例18: Test_LoginRedirectAfterLoginRequired
func Test_LoginRedirectAfterLoginRequired(t *testing.T) {
recorder := httptest.NewRecorder()
m := martini.Classic()
m.Use(sessions.Sessions("my_session", sessions.NewCookieStore([]byte("secret123"))))
m.Use(Google(
&oauth2.Config{
ClientID: "client_id",
ClientSecret: "client_secret",
Scopes: []string{"x", "y"},
RedirectURL: "redirect_url",
},
))
m.Get("/login-required", LoginRequired, func(tokens Tokens) (int, string) {
return 200, tokens.Access()
})
r, _ := http.NewRequest("GET", "/login-required?key=value", nil)
m.ServeHTTP(recorder, r)
location := recorder.HeaderMap["Location"][0]
if recorder.Code != 302 {
t.Errorf("Not being redirected to the auth page.")
}
if location != "/login?next=%2Flogin-required%3Fkey%3Dvalue" {
t.Errorf("Not being redirected to the right page, %v found", location)
}
}
开发者ID:cyberwolf88,项目名称:oauth2,代码行数:25,代码来源:oauth2_test.go
示例19: Test_Logout
func Test_Logout(t *testing.T) {
recorder := httptest.NewRecorder()
s := sessions.NewCookieStore([]byte("secret123"))
m := martini.Classic()
m.Use(sessions.Sessions("my_session", s))
m.Use(Google(
&oauth2.Config{
ClientID: "client_id",
ClientSecret: "client_secret",
RedirectURL: "redirect_url",
},
))
m.Get("/", func(s sessions.Session) {
s.Set(keyToken, "dummy token")
})
m.Get("/get", func(s sessions.Session) {
if s.Get(keyToken) != nil {
t.Errorf("User credentials are still kept in the session.")
}
})
logout, _ := http.NewRequest("GET", "/logout", nil)
index, _ := http.NewRequest("GET", "/", nil)
m.ServeHTTP(httptest.NewRecorder(), index)
m.ServeHTTP(recorder, logout)
if recorder.Code != 302 {
t.Errorf("Not being redirected to the next page.")
}
}
开发者ID:cyberwolf88,项目名称:oauth2,代码行数:32,代码来源:oauth2_test.go
示例20: main
func main() {
m := martini.Classic()
m.Use(render.Renderer(render.Options{
Directory: "templates",
Extensions: []string{".tmpl", ".html"},
Charset: "UTF-8",
Funcs: []template.FuncMap{
{
"equal": func(args ...interface{}) bool {
return args[0] == args[1]
},
},
},
}))
store := sessions.NewCookieStore([]byte("secret123"))
m.Use(sessions.Sessions("my_session", store))
m.Get("/", youth)
m.Get("/firtConfirm", firtConfirm)
m.Post("/firtConfirm", binding.Form(model.User{}), firtConfirmPost)
m.Post("/userSiginCheck", binding.Bind(SiginIfo{}), userSiginCheck)
m.Get("/userInforEdit", userInforEdit)
m.Post("/userInforEdit", binding.Form(model.User{}), userInforEditPost)
m.Get("/editReruenInfo/:status", editReruenInfo)
m.Run()
}
开发者ID:cwen-coder,项目名称:youth,代码行数:25,代码来源:youth.go
注:本文中的github.com/martini-contrib/sessions.Sessions函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论