Laravel 登录后清空COOKIE的操作方法

需求

在Laravel 登陆立即清空保存的COOKIE数组

实现

# Http/Controllers/Auth/LoginController.php
public function redirectTo()
{
  // 设置为登陆成功 session
  session()->put('show-login-success', 1);

  // 订阅内容
  $logs = request()->cookie('subscribe');
  if ($logs) {
    $subscribe = new Subscribe();
    foreach ($logs as $item) {
      $subscribe->addSubscribe(Auth::id(), $item);
    }
    Cookie::queue(Cookie::forget('subscribe'));
  }

  return session()->pull('rdTo', $this->redirectTo);
}

关键代码 Cookie::queue(Cookie::forget('subscribe'));

Laravel COOKIE 与 SESSION 注意
session(['hit.article' => $value]) 会变成数组,取的时候直接可这样取session('hit.article') 

但是Cookie::make($name,'hit.article',$value) 取的时候无法取到,因为cookie name中含有点,被解析为了数组。名字中不用点号 或者取的时候将COOKIE名字中点号换成下划线。

以上这篇Laravel 登录后清空COOKIE的操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Laravel5中Cookie的使用详解

    今天在Laravel框架中使用Cookie的时候,碰到了点问题,自己被迷糊折腾了半多小时.期间研究了Cookie的实现类,也在网站找了许多的资料,包括问答.发现并没有解决问题.网上的答案都是互相抄袭,互相转载.其实并没有什么用处.好在最后,我找到了决绝方法.奔着为广大Laravel爱好者和开发人员负责的精神,同时也希望大家在使用Cookie时少走弯路,在这里把在Laravel中Cookie的设置和读取方法贡献出来,供大家批评指正. 概述 Cookie的添加其实很简单,直接使用Cookie::ma

  • laravel 修改记住我功能的cookie保存时间的方法

    1.laravel的记住我功能默认cookie时间为 5年. 2. 我的思路是把cookie取出来,然后再加个过期时间. 开始演示代码. 这是我的登陆 所以只好写到中间件 以上这篇laravel 修改记住我功能的cookie保存时间的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Laravel 登录后清空COOKIE的操作方法

    需求 在Laravel 登陆立即清空保存的COOKIE数组 实现 # Http/Controllers/Auth/LoginController.php public function redirectTo() { // 设置为登陆成功 session session()->put('show-login-success', 1); // 订阅内容 $logs = request()->cookie('subscribe'); if ($logs) { $subscribe = new Sub

  • Springboot中登录后关于cookie和session拦截问题的案例分析

    一.前言 1.简单的登录验证可以通过Session或者Cookie实现. 2.每次登录的时候都要进数据库校验下账户名和密码,只是加了cookie 或session验证后:比如登录页面A,登录成功后进入页面B,若此时cookie过期,在页面B中新的请求url到页面c,系统会让它回到初始的登录页面.(类似单点登录sso(single sign on)). 3.另外,无论基于Session还是Cookie的登录验证,都需要对HandlerInteceptor进行配置,增加对URL的拦截过滤机制. 二.

  • python模拟登录并且保持cookie的方法详解

    前言 最近在爬行 nosec.org 的数据,看了下需要模拟登录拿到cookie后才能访问想抓的数据,重要的是 nosec.org 的登录页面 form 中有个 authenticity_token 字段每次访问登录页面都会自动生成,而且会和你的用户名,密码一样被POST到服务器. 经过一番研究后发现,直接访问网站登录界面的时候,服务器的响应头会有一个Set-Cookie字段,如下: _nosec_session=ZTlHNmxuZXE4R0s1UXpsVUxGRTNPblNBWFd2TXU4T

  • java web中 HttpClient模拟浏览器登录后发起请求

    HttpClient模拟浏览器登录后发起请求 浏览器实现这个效果需要如下几个步骤: 1请求一个需要登录的页面或资源 2服务器判断当前的会话是否包含已登录信息.如果没有登录重定向到登录页面 3手工在登录页面录入正确的账户信息并提交 4服务器判断登录信息是否正确,如果正确则将登录成功信息保存到session中 5登录成功后服务器端给浏览器返回会话的SessionID信息保存到客户端的Cookie中 6浏览器自动跳转到之前的请求地址并携带之前的Cookie(包含登录成功的SessionID) 7服务器

  • C#使用WebClient登录网站并抓取登录后的网页信息实现方法

    本文实例讲述了C#使用WebClient登录网站并抓取登录后的网页信息实现方法.分享给大家供大家参考,具体如下: C#登录网站实际上就是模拟浏览器提交表单,然后记录浏览器响应返回的会话Cookie值,再次发送请求时带着这个会话cookie值去请求就可以实现模拟登录的效果了. 如下类CookieAwareWebClient实现在发送请求时都带着cookie. public class CookieAwareWebClient : WebClient { private CookieContaine

  • Python3 Post登录并且保存cookie登录其他页面的方法

    如下所示: import urllib.request import sys import http.cookiejar import urllib.parse from bs4 import BeautifulSoup import codecs import re #登录页面 url = "http://www.abc.com/login.asp" #登录Post数据 postdata =urllib.parse.urlencode({ "username":&

  • vue利用全局导航守卫作登录后跳转到未登录前指定页面的实例代码

    有这样一个场景:如果你在登录之前输入了http://localhost:8080/oauth2-mgm-app/#/userManage,想进入userManage页面,但是由于没有登录,系统是不会让你进入这个页面,之后会被定向到login页面.但是在登录之后,认为你有这个权限了,就需要重新定向到userManage页面.大致流程图如图1所示: 图1 登录后跳转到未登录前指定页面流程图 在vue-route的官方文档里其实有给到过这个demo,官方文档链接在此:https://router.vu

  • Python中Selenium对Cookie的操作方法

    1.Cookie介绍 HTTP协议是无状态的协议.一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接,这就意味着服务器无法从连接上跟踪会话.也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户.举个例子:用户A购买了一件商品放入购物车内,当再次购买商品时,服务器已经无法判断该购买行为是属于用户A的会话,还是用户B的会话了.要跟踪该会话,必须引入一种机制. 什么是一次会话: 用户打开浏览器访问某个网站, 在这个网站上浏览任意页面

  • python网络爬虫之模拟登录 自动获取cookie值 验证码识别的具体实现

    目录 1.爬取网页分析 2.验证码识别 3.cookie自动获取 4.程序源代码 chaojiying.py sign in.py 1.爬取网页分析 爬取的目标网址为:https://www.gushiwen.cn/ 在登陆界面需要做的工作有,获取验证码图片,并识别该验证码,才能实现登录. 使用浏览器抓包工具可以看到,登陆界面请求头包括cookie和user-agent,故在发送请求时需要这两个数据.其中user-agent可通过手动添加到请求头中,而cookie值需要自动获取. 分析完毕,实践

  • asp.net清空Cookie的两种方法

    asp.net清空Cookie的两种方法 第一种 Cookie.Expires=[DateTime]; Response.Cookies("UserName").Expires = 0; 第二种 Response.Cookies["admin"].Expires = DateTime.Now.AddDays(-1);

随机推荐