由于 SESSION_DOMAIN,laravel 无法登录

2023-12-07

我在 .env 中设置了 SESSION_DOMAIN ="example.com"

现在我无法使用正确的电子邮件和密码登录我的帐户。

有人遇到这个问题吗?


对于所有遇到此错误的人。

当您更改 SESSION_DOMAIN 环境参数时,Laravel 将发出新的 cookie,但旧的 cookie 仍在浏览器内存中。

当请求从浏览器发送到 Laravel 应用程序时,旧 cookie 具有优先权,因此您无法登录。

解决方案是删除浏览器中的旧cookie(那些没有任何域注册的cookie,因此是应用程序的实际主机)。

此错误通常会困扰那些想要添加多个子域持久登录的人。更糟糕的是,当您的应用程序已经投入生产时,您的所有客户/用户都将遭受此问题的困扰。在完全清除旧的 cookie 之前,没有人能够登录(不仅如此,而且主要是)您的应用程序。

我通过添加 Laravel 应用程序 HTTP 中间件解决了这个问题,它为我解决了这个问题:


<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\Cookie;

class ForgotOldSessionCookies
{
    /**
     * Handle an incoming request.
     *
     * @param \Illuminate\Http\Request $request
     *
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        Cookie::queue(new \Symfony\Component\HttpFoundation\Cookie('laravel_session', null, now()->subYear(1)->timestamp, '/'));
        Cookie::queue(new \Symfony\Component\HttpFoundation\Cookie('XSRF-TOKEN', null, now()->subYear(1)->timestamp, '/'));

        return $next($request);
    }
}

请注意,当您仅使用此时:

Cookie::queue(Cookie::make('laravel_session', null, -6000, '/', 'yourdomain.com'))

or

Cookie::queue(Cookie::forget('laravel_session', '/', 'yourdomain.com'))

Laravel 将发送带有域的 Cookie 标头,因此浏览器将创建带有域的 cookie.yourdomain.com- 这就是为什么不会删除任何内容(与前一个域相比不同的域)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

由于 SESSION_DOMAIN,laravel 无法登录 的相关文章

  • setcookie with expire=0 浏览器关闭后不会过期

    我使用setcookie来制作一个过期 0的cookie 从 PHP 文档来看 link http php net manual en function setcookie php cookie 过期的时间 这是一个 Unix 时间戳 所以
  • Yii2 - 错误请求 (#400) |前端和后端cookie

    仅当我打开时才会出现此问题frontend and backend在相同的browser 设想 与后端交互 gt 切换选项卡 gt 与前端交互 gt 切换选项卡返回 gt 与后端交互 gt 错误请求 400 Cookie 后端 identi
  • 是否可以将路由参数传递给 Laravel 中的控制器构造函数?

    是否可以将路由参数 或路由段 注入到控制器构造函数中 您找到一些代码来澄清我的问题 class TestController protected param public function construct paramFromRoute
  • 适用于 Linux 的轻量级 IDE [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • PHP WCF 集成

    是不是如果我想支持php客户端访问我的服务 我必须有一个基本的http端点 这是因为php仍然只支持soap 1 1吗 据我所知 自从我使用 PHP 以来已经两年了 情况仍然如此 如果客户端应用程序将使用 PHP 的内置 SoapClien
  • PHP:读取所有传入 HTTP 请求的类 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • PDO PHP 连接,致命错误

    我的连接类 firstcode php class DB functions public db function construct try db new PDO mysql localhost dbname xxx charset ut
  • 在哪里可以学习网络编程从入门到精通? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我尝试做教程 但它是无组织且无结构的 我在哪里可以学习 PHP 从初学者到大师 我正在寻找类似的网站w
  • 分页显示所有其他页面上第 1 页的相同帖子

    我最近在创建即将发生的事件列表时得到了很多帮助 请参阅此处显示即将举行的活动 包括今天的活动 https stackoverflow com questions 17343615 showing upcoming events includ
  • 使用 PHP glob 列出 FTP 服务器上的文件不起作用

    我使用此代码来访问目录 location files pictures glob location png 我想使用 FTP 访问远程路径 location opendir ftp user password host name files
  • 在哪里可以获得 PHP 5.3+ 的 runkit DLL 扩展?

    这是一个简单的问题 我在哪里可以获得 PHP 5 3 版本的 runkit 扩展 它的手册 http php net manual en book runkit php http php net manual en book runkit
  • PHP 中标头的使用

    非常简单的问题 这两个 PHP 版本 5 标头调用中哪一个是 最好的 header Not Modified true 304 header HTTP 1 1 304 Not Modified 我很确定第一个是最多价的 但只是好奇如果在 H
  • 在 foreach 中使用 QueryPath 的多个查找

    我正在使用 QueryPath 和 PHP 这发现 eventdate 没问题 但不会为 dtstart 返回任何内容 qp htmlqp url foreach qp gt find table schedule gt find tr a
  • 通过互联网IP地址从一台计算机访问xampp到另一台计算机

    我试图从另一台计算机访问我的 xampp 它显示为禁止错误 然后我在 google 上搜索答案 因为他们告诉在 apache 文件夹中的 httpd conf 文件中更改一些设置 如下所示 Order Deny Allow Deny fro
  • CodeIgniter:My_Lang 中的 get_instance

    我发现这个有用的国际化代码 http pastebin com SyKmPYTX http pastebin com SyKmPYTX 一切正常 除了我无法在此类中使用 CI 函数 我想从 DB 设置 languages 和 special
  • PHP 接口有属性吗?

    PHP 中的接口有属性 还是只有方法 您可以在 DocBlock 中为接口声明属性 然后 IDE 将提示接口的这些属性 PhpStorm 会这样做 但这不会强制在实现类中实际实现这些字段 例如 property string passwor
  • PHP session_regenerate_id 和黑莓浏览器

    问候 我正在开发一个登录系统 并陷入了黑莓浏览器身份验证的困境 他们似乎对 PHP 的 session regenerate id 有问题 有人可以建议替代方案吗 以下是身份验证和登录脚本 UPDATE看来会话一般都不起作用 拿出 sess
  • PayPal 网关已拒绝请求。安全标头无效(#10002:安全错误 Magento

    在 magento 中增加 PayPal 预付款 我已填写 magento admin 中的所有凭据 但是当我进入前端并单击 pay pal 按钮时 它给出了 PayPal 网关已拒绝请求 安全标头无效 10002 安全错误 我用谷歌搜索了
  • PHP更改小数点分隔符

    在某些情况下 PHP 会在操作后更改小数点分隔符 下面是一个示例 为什么小数点分隔符变成 这是一个多语言网站 在西班牙语版本中 区域设置设置为西班牙语 es ES 小数点分隔符为 这就是为什么正在改变 解决方案是强制 LC NUMERIC
  • 分页在服务器端好还是前端好? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在构建 Laravel Vue 应用程序 我想知道在后端使用分页还是在前端使用分页更好 我认为最好在每页发送尽可能少的数据的请求 但我想听听

随机推荐

  • Oracle数据库TNS键“数据源”的值长度超出其限制“128”

    所以我有一个到 Oracle 数据库的连接字符串 本质上是我直接从 sql Developer 复制的 然后剪掉空格 我后来以编程方式添加了用户名和密码 问题是当我尝试打开 SQLConnection 对象时 我收到错误 The value
  • AJAX 页面加载后播放 HTML5 视频

    当通过 AJAX 请求到达页面时 我很难播放 HTML5 视频 如果刷新页面 或者直接登陆页面 效果很好 但是当通过 AJAX 导航到该页面时 它不会播放 代码是
  • 集成 Lucene 索引和 Amazon AWS

    我有一个现有的 lucene 索引文件索引和用于对其执行搜索功能的 java 代码 我想做的是在服务器上执行相同的操作 以便应用程序的用户可以简单地传递一个查询 该查询将被java程序作为输入参数 并针对现有索引运行它以返回它所在的文档发生
  • PHP:计算大于 2GB 文件的文件 HASH

    请问如何在 PHP 中计算大于 2GB 的文件的文件 HASH 唯一的我所知道的PHP函数是 string hash file string algo string filename bool raw output false 然而这个功能
  • 改变方向时的动画

    是否可以设置animation当我们从横向视图中的活动转变为纵向视图中的活动时 这是可能的 但并非微不足道 将此属性添加到您的
  • 在oracle中查找父节点(任何级别)的最多子节点

    我的表结构是 Parent ID ID a b b c b d b e c f d g e h 我想获得所有父节点的最多子节点 在另一个表中我有 a b 和 c 然后我想得到下面的结果 Parent ID Chi
  • 考虑到使用 Task.Run 异步运行任何方法的能力,.Net Framework 中的 *Async 方法的用途是什么?

    简短的问题 为什么 Net Framework 添加了很多 Async 版本的方法而不是开发人员只使用Task Run异步运行同步方法 详细问题 我理解异步的概念 我知道关于Tasks 我知道 async await 关键字 我知道 Net
  • PyQt5 失败并显示神秘消息

    我创建了带有模型和视图的小应用程序 自从 PyQt5 开始每次出现问题就会崩溃 Process finished with exit code 1073740791 0xC0000409 其极其神秘 我不知道哪个组件出现故障 一段时间以来
  • 获取twitter公开时间线,json+C#,无第3方库

    我是 C 和 JSON 的初学者 我只用 Java 编码 基本的东西 如读 写文件 哈希图等 没有任何 Web 开发 初学者程序员 我是一名学生 负责用 C 编写一个与 Twitter 交互的控制台应用程序 目前 我仍停留在极端的基础知识上
  • 当有多个类时,如何找到元素的特定类名?

    我的页面上有一些 DIV 每个都有 3 个类 grid push 和 pull 其中 是一个实际数字 我需要分别替换每个类 即删除 class grid 1 并将其替换为 class grid 14 我正在使用选择列表来选择新类别 我需要旧
  • Karma 运行单一测试

    我使用业力来运行测试 我有很多测试 运行所有测试是一个非常缓慢的过程 我只想运行一个测试 以便花费更少的时间 因为所有测试都运行大约 10 分钟 是否可以 如果您正在使用因果报应 茉莉花堆栈 使用 fdescribe when functi
  • ||是什么意思在 JavaScript 中?

    我正在查看这些代码行here if callback callback sig graph 我从未在 javascript 方法调用中看到垂直的 或 条 他们的意思是什么 他们是否传递 true 参数 即 sig 或 graph 他们是否传
  • DateTime.TryParseExact 不适用于预期的字符串

    您好 我有以下方法 我将值 07 Jan 2014 13 48 46 传递给它 据我了解 TryParseExact 应该匹配格式 dd MMM yyyy hh mm ss 并返回 true 但它返回 false 有什么想法吗 string
  • 如果字符串的第一个字符为 0,则删除该字符

    我想删除字符串的第一个字符 如果第一个字符是 0 0 可以出现多次 有没有一个简单的函数可以检查第一个字符 如果为 0 则将其删除 现在我正在用 JS 尝试slice 功能但是很别扭 您可以使用删除字符串的第一个字符substring va
  • 失败的道具类型:道具“actions”在“测试”中被标记为必需,但其值为“未定义”

    我正在使用 React 和 Redux 创建一个简单的登录表单 我的app js is import React from react import render from react dom import Input from react
  • 如何从 JFileChooser 检索 UNC 路径而不是映射的驱动器路径

    只是想知道是否有办法从使用 JFileChooser 选择的文件返回 UNC 路径 我要选择的文件将驻留在具有 UNC 路径的映射驱动器上 现在 我似乎只能拉回映射驱动器的驱动器号 From https stackoverflow com
  • 如何使用 Gmail API 检查传入的新邮件

    我已经设置了一个可以从 Gmail 帐户中提取数据的 python 脚本 但我想将其设置为仅提取自上次我进行 API 调用以来的新消息 我将定期 ping 服务器 我已经查看了推送通知和发布 订阅 但我不太确定这些是否相关 或者我应该看看其
  • 如何在一个页面上运行多个ajax调用

    如果我正在制作一个 ajax 化 用户界面 其中包含许多 ajax 调用 用于创建 重命名 删除页面上的各种内容 处理所有这些 代码隐藏 ajax 页面的最佳方法是什么 起初 我为每个调用都有一个不同的 php 文件 即 Candy Ren
  • 使用邮件包时,“短语中缺少单词:不支持字符集”

    我正在尝试解析电子邮件 但使用邮件包时出现此类错误 这是邮件包裹上的错误还是我应该自己处理的问题 missing word in phrase charset not supported gb18030 charset not suppor
  • 由于 SESSION_DOMAIN,laravel 无法登录

    我在 env 中设置了 SESSION DOMAIN example com 现在我无法使用正确的电子邮件和密码登录我的帐户 有人遇到这个问题吗 对于所有遇到此错误的人 当您更改 SESSION DOMAIN 环境参数时 Laravel 将