如何解决会话过期后,Phoenix服务器主索引页面无法正确重定向
我是不老长寿药和凤凰的新手,这是我的第一个项目。
在我的应用中,我实现了简单的用户名/密码身份验证,其中某些路由需要经过身份验证的访问。
一切似乎都进行得很顺利,除非我休息一会儿,第二天再次启动开发服务器。当我尝试访问主页时,浏览器显示“页面未正确重定向”。因此,我打开了开发工具,并且开发服务器似乎将302 Found
返回Location: /
,从而导致无限重定向。
在开发服务器终端上,每个请求(由于重定向)都会显示以下错误。
[error] Ranch listener DemoWeb.Endpoint.HTTP had connection process started with :cowboy_clear:start_link/4 at #PID<0.816.0> exit with reason: {:function_clause,[{:cowboy_http,:commands,[{:state,#PID<0.376.0>,DemoWeb.Endpoint.HTTP,#Port<0.105>,:ranch_tcp,:undefined,%{env: %{dispatch: [{:_,[],[{:_,Phoenix.Endpoint.Cowboy2Handler,{DemoWeb.Endpoint,[]}}]}]},stream_handlers: [:cowboy_telemetry_h,:cowboy_stream_h]},"",%{},{{127,1},55044},4000},#Reference<0.1526777474.1731461121.208048>,true,2,{:ps_request_line,0},65535,1,:done,1000,[{:stream,{:cowboy_telemetry_h,{:state,{:cowboy_stream_h,#PID<0.817.0>,:nofin,...}},#Function<0.122385210/1 in :cowboy_telemetry_h."-fun.metrics_callback/1-">,%{body_length: 0,cert: :undefined,has_body: false,headers: %{"accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8","accept-encoding" => "gzip,deflate","accept-language" => "en-US,en;q=0.5","connection" => "keep-alive","cookie" => "_demo_key=SFMyNTY.g3QAAAACbQAAAAtfY3NyZl90b2tlbm0AAAAYME5oeGdhaHF6eXFKSUhXSXI4TEtBNkNVbQAAAA9jdXJyZW50X3VzZXJfaWRtAAAAJDMzYWZiYWFmLWE0YjYtNDQ0NS05M2NkLWJiZDkzMWExMzI2ZQ.CDek9yOjbjBOnr_UyIb2YkEbJzt8GaThoRRmwAVOS50","host" => "localhost:4000","upgrade-insecure-requests" => "1",...},host: "localhost",method: "GET",path: "/",peer: {{127,pid: #PID<0.816.0>,port: 4000,qs: "","200 OK",%{"cache-control" => "max-age=0,private,must-revalidate","content-length" => "2142","content-type" => "text/html; charset=utf-8","cross-origin-window-policy" => "deny","date" => "Sat,07 Nov 2020 08:18:59 GMT","server" => "Cowboy","set-cookie" => ["_demo_key=SFMyNTY.g3QAAAACbQAAAAtfY3NyZl90b2tlbm0AAAAYR2ZLcnEtaUtiR0xVSUlEWnViZTNxTllBbQAAAA9jdXJyZW50X3VzZXJfaWRtAAAAJDMzYWZiYWFmLWE0YjYtNDQ0NS05M2NkLWJiZDkzMWExMzI2ZQ.PaaEneIk1STc430uXlUm3ItoBnBnp5fdkQFaTr4gILc; path=/; HttpOnly"],"x-content-type-options" => "nosniff","x-download-options" => "noopen",-576459137946131486,-576459137573558785,%{#PID<0.817.0> => %{...}},"GET",:"HTTP/1.1",[]}],[{:child,5000,:undefined}]},[{:response,"x-frame-options" => "SAMEORIGIN","x-permitted-cross-domain-policies" => "none","x-request-id" => "FkUr7USdNzJbU4YAAA0h","x-xss-protection" => "1; mode=block"},["<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <meta charset=\"utf-8\"/>\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\"/>\n <meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\"/>\n <title>Demo App</title>\n <link rel=\"stylesheet\" href=\"/css/app.css\"/>\n<meta charset=\"UTF-8\" content=\"FhZ4IAh7KhErdCFlPjwRNypQDEozCy95Qp3RyVCZI3m0wuUm_2iyBEv8\" csrf-param=\"_csrf_token\" method-param=\"_method\" name=\"csrf-token\">\n <script defer type=\"text/javascript\" src=\"/js/app.js\"></script>\n </head>\n <body>\n <header>\n <section class=\"container\">\n <nav role=\"navigation\">\n <ul>\n\n <li>\n\n<a href=\"/login\">Login</a>\n\n </li>\n\n </ul>\n </nav>\n <a href=\"/\" class=\"phx-logo\">\n Demo\n </a>\n </section>\n </header>\n <main role=\"main\" class=\"container\">\n<p class=\"alert alert-info\" role=\"alert\"></p>\n<p class=\"alert alert-danger\" role=\"alert\"></p>\n<section class=\"phx-hero\">\n <h1>Welcome to Phoenix!</h1>\n <p>Peace of mind from prototype to production</p>\n</section>\n\n<section class=\"row\">\n <article class=\"column\">\n <h2>Resources</h2>\n <ul>\n <li>\n <a href=\"https://hexdocs.pm/phoenix/overview.html\">Guides & Docs</a>\n </li>\n <li>\n <a href=\"https://github.com/phoenixframework/phoenix\">Source</a>\n </li>\n <li>\n <a href=\"https://github.com/phoenixframework/phoenix/blob/v1.5/CHANGELOG.md\">v1.5 Changelog</a>\n </li>\n </ul>\n </article>\n <article class=\"column\">\n <h2>Help</h2>\n <ul>\n <li>\n <a href=\"https://elixirforum.com/c/phoenix-forum\">Forum</a>\n </li>\n <li>\n <a href=\"https://webchat.freenode.net/?channels=elixir-lang\">#elixir-lang on Freenode IRC</a>\n </li>\n <li>\n <a href=\"https://twitter.com/elixirphoenix\">Twitter @elixirphoenix</a>\n </li>\n <li>\n <a href=\"https://elixir-slackin.herokuapp.com/\">Elixir on Slack</a>\n </li>\n </ul>\n </article>\n</section>\n\n </main>\n ","<iframe src=\"/phoenix/live_reload/frame\" style=\"display: none;\"></iframe>","</body>","\n</html>\n"]}]],[file: '/home/nayminlwin/Lab/phoenix/demo/deps/cowboy/src/cowboy_http.erl',line: 954]},{:cowboy_http,:loop,line: 254]},{:proc_lib,:init_p_do_apply,3,[file: 'proc_lib.erl',line: 226]}]}
我盯着它看了很长时间,也不知道该怎么做。当我清除Cookie后,该站点将继续按预期运行。
任何人都可以帮助说明发生了什么吗?可能是过期的会话Cookie以某种方式导致了此问题?如果是这样,应该如何正确清除它?
先谢谢了。让我知道您是否需要更多信息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。