안녕하세요, PHP 편집기 Zimo님! alexedwards/scs/v2를 사용하여 세션을 추가하기 위해 Go에서 http.ServeHTTP를 래핑하는 것에 대한 질문에 대한 대답은 '예'입니다. alexedwards/scs/v2 라이브러리를 사용하여 세션을 관리하고 Go 코드에 http.ServeHTTP를 래핑할 수 있습니다. 이렇게 하면 HTTP 요청을 처리할 때 애플리케이션에서 세션을 사용하는 세션 관리 기능을 추가할 수 있습니다. 이렇게 하면 애플리케이션에 인증, 권한 부여 및 기타 세션 관련 기능을 쉽게 추가할 수 있습니다. 이 답변이 도움이 되기를 바랍니다!
go로 작성된 기존 http 서버에 세션을 추가하려고 합니다. 다음 코드가 있습니다
으아악추가 세션을 사용하고 싶습니다. https://pkg.go.dev/github.com/alexedwards/scs/v2#sessionmanager.loadandsave
링크에 있는 샘플 코드는
으아악예제 코드는 mux를 loadandsave에 전달한 다음 새 핸들러를 http.listenandserve(port, newhandler)에 전달합니다. 내 경우 핸들러는 *httpserver 구조에 추가한servehttp 메소드에서 나왔습니다. 예제의 핸들러는 멀티플렉서에서 나옵니다.
저는 처음 왔습니다. 내 Servehttp 메소드를 loadandsave에 전달하고 loadandsave에서 반환된 핸들러를 사용할 수 있습니까? 그렇지 않은 경우 내 예제에 사용된 http.server 구조체 필드를 http.listenandserve(port, handler) 에 전달하는 방법이 있습니까?
마치 peter의 func (s *httpserver) run(sessionmanager *scs.sessionmanager) {
주소 := "127.0.0.1:8080"
// httpserver를 loadandsave 미들웨어로 래핑합니다.
handlerwithsessions := sessionmanager.loadandsave(들)
...
}
이것은 이 메서드 외부에서 예: sessionmanager
를 만들고 구성하는 것을 의미합니다( scs.new( )sessionmanager
(使用 scs.new()),并在调用 run
) run
을 호출할 때 전달됩니다.
여기에서 구조에 sessionmanager
设置为 httpserver
필드를 배치할 수 있습니다.
이렇게 하면 (s *httpserver) servehttp(writer http.responsewriter, r *http.request)
이(가) 해당 항목을 검색할 수 있습니다.
위 내용은 alexedwards/scs/v2를 사용하여 세션을 추가하기 위해 http.ServeHttp를 래핑할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!