本文整理汇总了Golang中github.com/xyproto/pinterface.IUserState.SetLoggedOut方法的典型用法代码示例。如果您正苦于以下问题:Golang IUserState.SetLoggedOut方法的具体用法?Golang IUserState.SetLoggedOut怎么用?Golang IUserState.SetLoggedOut使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/xyproto/pinterface.IUserState
的用法示例。
在下文中一共展示了IUserState.SetLoggedOut方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: GenerateLogoutCurrentUser
// Log out a user by changing the loggedin value
func GenerateLogoutCurrentUser(state pinterface.IUserState) SimpleContextHandle {
return func(ctx *web.Context) string {
username := state.Username(ctx.Request)
if username == "" {
return MessageOKback("Logout", "No user to log out")
}
if !state.HasUser(username) {
return MessageOKback("Logout", "user "+username+" does not exist, could not log out")
}
// Log out the user by changing the database, the cookie can stay
state.SetLoggedOut(username)
// Redirect
//ctx.SetHeader("Refresh", "0; url=/login", true)
return MessageOKurl("Logout", username+" is now logged out. Hope to see you soon!", "/login")
}
}
示例2: exportUserstate
//.........这里部分代码省略.........
}))
// Make a user an admin, returns nothing
// Takes a username
L.SetGlobal("SetAdminStatus", L.NewFunction(func(L *lua.LState) int {
username := L.ToString(1)
userstate.SetAdminStatus(username)
return 0 // number of results
}))
// Make an admin user a regular user, returns nothing
// Takes a username
L.SetGlobal("RemoveAdminStatus", L.NewFunction(func(L *lua.LState) int {
username := L.ToString(1)
userstate.RemoveAdminStatus(username)
return 0 // number of results
}))
// Add a user, returns nothing
// Takes a username, password and email
L.SetGlobal("AddUser", L.NewFunction(func(L *lua.LState) int {
username := L.ToString(1)
password := L.ToString(2)
email := L.ToString(3)
userstate.AddUser(username, password, email)
return 0 // number of results
}))
// Set a user as logged in on the server (not cookie), returns nothing
// Takes a username
L.SetGlobal("SetLoggedIn", L.NewFunction(func(L *lua.LState) int {
username := L.ToString(1)
userstate.SetLoggedIn(username)
return 0 // number of results
}))
// Set a user as logged out on the server (not cookie), returns nothing
// Takes a username
L.SetGlobal("SetLoggedOut", L.NewFunction(func(L *lua.LState) int {
username := L.ToString(1)
userstate.SetLoggedOut(username)
return 0 // number of results
}))
// Log in a user, both on the server and with a cookie.
// Returns true of successful.
// Takes a username
L.SetGlobal("Login", L.NewFunction(func(L *lua.LState) int {
username := L.ToString(1)
L.Push(lua.LBool(nil == userstate.Login(w, username)))
return 1 // number of results
}))
// Logs out a user, on the server (which is enough). Returns nothing
// Takes a username
L.SetGlobal("Logout", L.NewFunction(func(L *lua.LState) int {
username := L.ToString(1)
userstate.Logout(username)
return 0 // number of results
}))
// Get the current username, from the cookie
// Takes nothing
L.SetGlobal("Username", L.NewFunction(func(L *lua.LState) int {
username := userstate.Username(req)
L.Push(lua.LString(username))
return 1 // number of results
}))
// Get the current cookie timeout
// Takes a username
L.SetGlobal("CookieTimeout", L.NewFunction(func(L *lua.LState) int {
username := L.ToString(1)
L.Push(lua.LNumber(userstate.CookieTimeout(username)))
return 1 // number of results