资讯专栏INFORMATION COLUMN

Symfony3实现刷新登录时间

Atom / 960人阅读

摘要:在中实现刷新登录时间登录加的功能需要自己写一个。我们进行刷新登录时间或者登录加或者其他什么操作后需要跳转到后台首页,因此需要生成一个,我的代码里用到了去获取,所以需要使用提供给我们的注在版本中可以直接继承类。到此,我们的已经实现完成。

在Symfony3中实现刷新登录时间、登录加1的功能需要自己写一个success handle。

简单讲一下创建success handle的流程,使用的环境如下
PHP版本:7.1.8
Symfony版本:3.3.5
默认管理员权限相关的Bundle名为AuthorizationBundle

首先我们在AuthorizationBundle下创建一个Service文件夹,用来储存所有与service相关的文件。建立一个AuthorizationHandle.php的文件,这个是我们用来实现success handle的代码文件。

因为实现success handle需要实现AuthenticationSuccessHandlerInterface接口中的方法,所以我们的handle类这么写

getUser();
        $user->setLastLogin(new DateTime());
        $user->save();

        return new RedirectResponse($this->container->get("router")->generate("huan_yue_admin_authorization_dashboard"));
    }
}

下面解释一下代码,AuthenticationSuccessHandlerInterface中的注释很清晰的写明了我们可以在onAuthenticationSuccess中实现我们的功能,并且最后需要返回一个Response。我们进行刷新登录时间、或者登录加1、或者其他什么操作后需要跳转到后台首页,因此需要生成一个RedirectResponse,我的代码里用到了Symfony container去获取router,所以需要使用Symfony提供给我们的Trait(注:在2.*版本中可以直接继承ContainerAware类)。到此,我们的success handel已经实现完成。

下一步,我们把我们的AuthorizationHandle注册到Symfony的Service中,在Resourcesservices.yml中添加

services:

huan_yue_authorization.authorization_handle:
    class: HuanYueAuthorizationBundleServiceAuthorizationHandle
    calls:
        - [ setContainer, [ "@service_container" ] ]

最后一步,修改appconfigsecurity.yml文件,在form_login下添加我们的success handle,代码如下

form_login:
    check_path: huan_yue_admin_authorization_login
    login_path: huan_yue_admin_authorization_login
    default_target_path: huan_yue_admin_authorization_dashboard
    success_handler: huan_yue_authorization.authorization_handle

到此,整个流程完成。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/25605.html

相关文章

  • Deployer整体结构

    摘要:功能简介实现的自动化部署的任务执行工具项目地址代码结构命令行入口目录命令行入口常用项目配置模板发布脚本核心实现安装生成目录常用项目配置模板目录下包括一些常见框架部署配置模板相关命令当前运行服务器目录信息当前配置信息当前服务器信息 0 功能简介 php实现的自动化部署的任务执行工具 1 项目地址 https://github.com/deployphp/... 2 代码结构 deplo...

    _ivan 评论0 收藏0
  • 前后端分离——token超时刷新策略

    摘要:实现目标延长过期时间活跃用户在过期时,在用户无感知的情况下动态刷新,做到一直在线状态不活跃用户在过期时,直接定向到登录页登录返回字段如何签发,请看上一篇推文,这里不做过多介绍。如果你有更好的做法,欢迎留言告知我,谢谢啦。 前言 记录一下前后端分离下————token超时刷新策略! 需求场景 昨天发了一篇记录 前后端分离应用——用户信息传递 中介绍了token认证机制,跟几位群友讨论了...

    hatlonely 评论0 收藏0
  • 如何在SpringBoot中集成JWT(JSON Web Token)鉴权

    摘要:在使用非对称加密算法进行签名的时候,还可以用于验证的发件人是否与中申明的发件人是同一个人。如果没有用非对称加密算法的话,把复制之后直接可以去官网在线解析。 这篇博客主要是简单介绍了一下什么是JWT,以及如何在Spring Boot项目中使用JWT(JSON Web Token)。 1.关于JWT 1.1 什么是JWT 老生常谈的开头,我们要用这样一种工具,首先得知道以下几个问题。 这...

    yeyan1996 评论0 收藏0
  • 刷新页面vuex数据不消失和不跳转页面

    摘要:先说点什么和路由拦截这一块捣鼓的有一段时间了总算是爬出来了特地来分享一下首先声明没有什么基础介绍用的是登录状态存储的方法进入正题刷新刷新相当与重启项目,之前获取到的数据也只是通过暂存起来,项目关闭时就不见了,这有些像电脑重启,存储在的数据会 先说点什么 vuex和路由拦截这一块捣鼓的有一段时间了,总算是爬出来了,特地来分享一下,首先声明没有什么基础介绍,用的是登录状态存储session...

    tracymac7 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<