सत्र
सत्र मिडलवेयर, फाइबर फ़्रेमवर्क के लिए सत्र प्रबंधन के लिए उपयोग किया जाता है।
नोट: इस मिडलवेयर को समर्थित करने के लिए हमारे स्टोरेज पैकेज का उपयोग वारिस इंटरफ़ेस के माध्यम से विभिन्न डेटाबेस का समर्थन करता है। इस मिडलवेयर के डिफ़ॉल्ट विन्यास में डेटा को मेमोरी में स्टोर किया जाता है। अन्य डेटाबेस के उदाहरणों के लिए कृपया निम्नलिखित उदाहरणों को देखें।
हस्ताक्षर
func New(config ...Config) *Store
func (s *Store) RegisterType(i interface{})
func (s *Store) Get(c *fiber.Ctx) (*Session, error)
func (s *Store) Reset() error
func (s *Session) Get(key string) interface{}
func (s *Session) Set(key string, val interface{})
func (s *Session) Delete(key string)
func (s *Session) Destroy() error
func (s *Session) Regenerate() error
func (s *Session) Save() error
func (s *Session) Fresh() bool
func (s *Session) ID() string
func (s *Session) Keys() []string
नोट: "interface{}" मानों के स्टोरेज की सीमा निर्धारित गो टाइप्स तक ही है।
उदाहरण
फाइबर वेब फ़्रेमवर्क के लिए मिडलवेयर पैकेज इम्पोर्ट करें।
import (
"github.com/gofiber/fiber/v2"
"github.com/gofiber/fiber/v2/middleware/session"
)
फाइबर ऍप्लिकेशन को प्रारंभ करने के बाद, आप निम्नलिखित सुविधाओं का उपयोग कर सकते हैं।
// डिफ़ॉल्ट विन्यास के साथ आरंभ करें
// यह आपके सभी ऍप्लिकेशन सत्र स्टोर करता है
store := session.New()
app.Get("/", func(c *fiber.Ctx) error {
// स्टोरेज से सत्र प्राप्त करें
sess, err := store.Get(c)
if err != nil {
panic(err)
}
// मान प्राप्त करें
name := sess.Get("name")
// कुंजी/मान सेट करें
sess.Set("name", "john")
// सभी कुंजी/मान प्राप्त करें
keys := sess.Keys()
// कुंजी हटाएं
sess.Delete("name")
// सत्र नष्ट करें
if err := sess.Destroy(); err != nil {
panic(err)
}
// इस सत्र के लिए एक विशिष्ट समय सीमा सेट करें
sess.SetExpiry(time.Second * 2)
// सत्र सेव करें
if err := sess.Save(); err != nil {
panic(err)
}
return c.SendString(fmt.Sprintf("स्वागत है %v", name))
})
विन्यास
संपत्ति | प्रकार | विवरण | डिफ़ॉल्ट |
---|---|---|---|
समाप्ति | time.Duration |
सत्र की अनुमत समयावधि | 24 * time.Hour |
स्टोरेज | fiber.Storage |
सत्र डेटा संग्रह करने के लिए स्टोरेज इंटरफ़ेस | memory.New() |
कुंजीदर्शन | string |
कुंजीदर्शन बराबरी से सत्र आईडी को अनुरोध से निकालने के लिए ": " जैसा एक स्ट्रिंग |
"cookie:session_id" |
कुकी डोमेन | string |
कुकी का डोमेन | "" |
कुकी पथ | string |
कुकी का पथ | "" |
कुकी सुरक्षित | bool |
क्या कुकी सुरक्षित है | false |
कुकी HTTP केवल | bool |
क्या कुकी केवल HTTP है | false |
कुकी सेम-साइट | string |
सेम-साइट कुकी का मान | "Lax" |
कुकी सत्र केवल | bool |
यह निर्धारित करता है कि क्या कुकी केवल ब्राउज़र सत्रों के लिए मान्य है। यदि true में सेट किया गया है, तो यह "samapti" का मूल्य नजरअंदाज करता है | false |
कुंजी जेनरेटर | func() string |
कुंजीजेनरेटर सत्र की कुंजी जनरेट करता है | utils.UUIDv4 |
कुकी नाम (पुराना) | string |
पुराना: कुंजीदर्शन का उपयोग करें। सत्र का नाम | "" |
डिफ़ॉल्ट विन्यास
var ConfigDefault = Config{
Expiration: 24 * time.Hour,
KeyLookup: "cookie:session_id",
KeyGenerator: utils.UUIDv4,
source: "cookie",
sessionName: "session_id",
}
स्थिरांक
const (
SourceCookie Source = "cookie"
SourceHeader Source = "header"
SourceURLQuery Source = "query"
)
कस्टम स्टोरेज/डेटाबेस
आप हमारे storage पैकेज से किसी भी स्टोरेज का उपयोग कर सकते हैं।
storage := sqlite3.New() // github.com/gofiber/storage/sqlite3 से
store := session.New(session.Config{
Storage: storage,
})