基于 Symfony 2 的项目的安全性和登录

2024-04-04

我正在开发一个基于 Symfony 2 PHP 框架的 Web 应用程序。

它有一个供注册用户使用的登录页面。我想为每个登录系统的用户执行一些自定义逻辑。

基本上,我想在任何用户登录系统时进行记录,但我不想在主页的控制器上执行此操作,因为每次用户重新加载主页时它都会记录。

我还想实现一个在用户登录系统时调用的函数,以便我可以决定是否授予任何用户访问权限(基于用户数据库中存储的全套信息)。

我怎样才能实现这个目标?


对于你的问题的第一部分,我有类似的东西(例如存储用户登录的最后日期和时间)。我沿着因事件而触发的服务的路线。在您的服务配置中(此处为 XML 示例):

<services>

    <service id="my.login.listener" class="My\OwnBundle\Event\LoginEventListener">
      <tag name="kernel.event_listener" event="security.interactive_login" />
    </service>

</services>

然后在包中的适当位置创建上述类:

namespace My\OwnBundle\Event;

use Symfony\Component\Security\Http\Event\InteractiveLoginEvent;
use My\OwnBundle\User\User as MyUser;

class LoginEventListener
{
    /**
     * Catches the login of a user and does something with it
     *
     * @param \Symfony\Component\Security\Http\Event\InteractiveLoginEvent $event
     * @return void
     */
    public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
    {
        $token = $event->getAuthenticationToken();
        if ($token && $token->getUser() instanceof MyUser)
        {
            // You can do something here eg
            // record the date & time of the user's login
        }
    }
}

我想你可以将其扩展到问题的第二部分,但我没有这样做:-)

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

基于 Symfony 2 的项目的安全性和登录 的相关文章

  • PHP cURL 在本地工作,在 AWS 服务器上出现错误 77

    最新更新 脚本作为管理员用户通过 SSH shell 作为 php script php 成功运行 当由 nginx 用户运行时 curl 命令无法执行 https 请求 所以我猜测这是nginx用户无法正确使用curl的问题 我已经检查了
  • PHP 和 NLP:嵌套括号(解析器输出)到数组?

    想要将带有嵌套括号的文本转换为嵌套数组 以下是 NLP 解析器的输出示例 TOP S NP PRP I VP VBP love NP NP DT a JJ big NN bed PP IN of NP NNS roses 原文 我喜欢一大床
  • PHP - 扩展 __construct

    我想知道你是否可以帮助我 我有两个类 一个扩展了另一个 B 类将由各种不同的对象扩展 并用于常见的数据库交互 现在我希望 B 类能够处理其连接和断开连接 而无需来自 A 类或任何外部输入的指示 据我了解 问题是扩展类不会自动运行其 cons
  • 访问被拒绝(“java.io.FilePermission”“执行”)

    我是初学者 这是我写的第一个小程序 我想用小程序运行 exe 应用程序 java代码 package appletexample import java io import java awt import java applet Apple
  • 如何调试symfony2服务容器中配置的标签和服务?

    我正在编写一个服务来处理 AccessDeniedException 并且我找到了一种方法来解决它使用 Symfony2 的 AccessDeniedHandlerInterface https stackoverflow com ques
  • 尝试获取 Google accessToken

    看起来 无论我做什么 谷歌都在竭尽全力阻止我完成这个研究项目 我的项目让我使用 Google 电子表格作为数据库 并使用所述电子表格中的数据执行程序化的 Google 图片搜索 并向最终用户显示一些结果 设置说明 我开始按照此处的说明进行操
  • 限制对记录的访问。基于声明的权限是个好主意吗

    在 net 基于声明的身份框架中 如果我想限制用户对某个帐户 特定帐户 123456 执行操作 查看或编辑 我说的是商业实体 例如银行帐户 创建索赔是个好主意吗对于他们可以查看或编辑的每个帐户 一组中有很多索赔有什么缺点吗 系统管理员可能有
  • PHP使用auto_increment生成短唯一ID?

    我想生成一个简短的 唯一的 ID 而不必检查冲突 我目前正在做类似的事情 但是我当前生成的 ID 是随机的 并且在循环中检查冲突很烦人 并且如果记录数量显着增加 将会变得昂贵 通常担心冲突不是问题 但我想要生成的唯一 ID 是一个由 5 8
  • Doctrine 1 和 Symfony 1 的多个主键?

    我已经知道在 Symfony 1 和 Doctrine 1 中不可能使用多个主键 但是你们知道有什么好的解决方法吗 除了多对多关系之外 原则 1 不适用于多列上的主键 但如果你想使用多对多关系 请像这样使用 BlogPost columns
  • 如何在 Smarty 中打印 json

    我从 api 获取 json 如何使用 Smarty 打印 json Json格式 first name jinu last name mk loginid email protected cdn cgi l email protectio
  • PHP 错误警告:参数 1 应该是引用

    我 熟悉 PHP 我的朋友的网站因错误而崩溃 Warning Parameter 1 to Some function name expected to be a reference value given in public html i
  • MySQL 数据库无法在 XAMPP for Mac 上启动

    突然我在 mac 上遇到了这个问题 我无法启动我的 MySQL 数据库 我只能启动 ProFTPD 和 Apache Web Server 这是应用程序日志 Starting all servers Starting MySQL Datab
  • 使用 PHP 和 OAuth 访问 SkyDrive

    我想使用 PHP 访问 skyDrive 我想检索文件和文件夹列表 下载 上传和删除文件 我有一个 microsoft dev clientID 和 clientSecret 有人可以帮助我开始使用 OAuth 连接到 skyDrive 并
  • 具有数据库连接依赖性的自定义约束验证器 Symfony2

    我正在向 Symfony2 项目添加自定义验证查询 The docs http symfony com doc current cookbook validation custom constraint html缺乏完整的示例 并且我不确定
  • 监听文件夹和文件(更改)

    可以直接在 PHP 或 Node 上监听文件夹和文件的更改 通过事件 还是我需要创建自己的方法来执行此操作 Example 我需要听文件夹 user 如果我将一些文件添加到该目录中 PHP 或 Node 会收到信息并运行PathEvent
  • iPhone 和加密库

    我想我必须在我的 iPhone 应用程序中使用加密库 我想问你有关苹果公司实施的加密货币出口政策的影响 我需要做一些额外的事情吗 例如填写表格等 1 如果我使用 MD5 进行哈希处理 2 如果我使用对称加密 Thanks EDIT 2009
  • HTML 代码中的 PHP [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我用 HTML 代码编写了 PHP div div 但这出现在输出页面中 else print 我怎样才能让PHP执行 你的文件有一个 p
  • PHP 中的多个插入查询[重复]

    这个问题在这里已经有答案了 我正在尝试创建一个 php html 表单 它将结果插入到狗展数据库中 问题是 无论我做什么 我都会收到此错误 查询失败 您的 SQL 语法有错误 检查与您的 MySQL 服务器版本相对应的手册 了解在 INSE
  • Doctrine DQL 从 join 返回平面数组

    我通过 DQL 中的常规 LEFT JOIN 选择 3 个实体 它们通过连接表关联 连接表还定义了实体以及带注释的关系 查询执行没有问题 但我的结果作为平面数组返回 我期望一个包含三个实体作为每个索引的数组元素的数组 SELECT e1 e
  • 如何在 PHP 中从字符串类名实例化? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 如何创建返回方法名称的新实例 不幸的是我收到这个错误 错误 类名必须是有效的对象或字符串 这是我的代码 class Foo public f

随机推荐

  • 我应该如何得到Lasso模型的系数?

    这是我的代码 library MASS library caret df lt Boston set seed 3721 cv 10 folds lt createFolds df medv k 10 lasso grid lt expan
  • 如何在方向改变后保留播放视频的片段片段的实例?

    我有一个 YouTube API 片段 静态添加到我的 xml 清单文件中 即内部包含 YouTube 播放器的片段 我的项目中没有扩展片段的文件 在我的活动类中 我将这行代码放在onCreate我的活动课 youTubePlayerFra
  • 以通用方式选择有效的随机枚举值

    假设我们有一个枚举类型E enum class E underlying type of E v1 uE1 v2 uE2 vN uEN typedef typename std underlying type
  • 用c#将html转为jpg

    我做了一些搜索 尝试从 html 页面生成 jpg 文件 并找到了一种名为 IECapt 或类似的解决方案 需要服务器上的 IE 才能工作 这不是我想要的 这就是我想要做的 从 html 页面生成 jpg 图像 html 页面只是文本 然后
  • 无法转义正则表达式中的反斜杠?

    我正在使用以下正则表达式 a zA Z0 9 s 1 1000 我知道它很丑陋 但到目前为止 它已经达到了它的目的 除了反斜杠不被允许 因为我认为它应该因为它被转义了 另外 我尝试过 代替 但得到了相同的结果 有任何想法吗 如果您将其放入程
  • 如何控制边框高度?

    我有两个div 一个在左边 另一个在右边 现在我想用它们之间的边框来划分这两个 div 但是全高的边框看起来很糟糕 我想控制边框的高度 我怎么能这样做呢 边框将始终处于包含框的完整长度 元素的高度加上其填充 除了调整其应用的元素的高度之外
  • 从微调器中删除文本

    I m trying to style a spinner What I currently have is this It is EditText其次是Spinner Now I m using custom style as follo
  • 将一个 Cursor 的内容添加到另一个 Cursor

    我想连接两个游标 以便连接后第二个游标的内容也应出现在第一个游标中 这正是我的代码 public final Uri AllImage URI Int MediaStore Images Media INTERNAL CONTENT URI
  • 如何在 VueJS 单文件组件中正确使用“作用域”样式?

    The docs https vue loader vuejs org en features scoped css html在 VueJS 上声明scoped应限制组件的样式 但是如果我创建两个相同的组件baz样式 它会从一个组件泄漏到另
  • Cocoa:隐藏一个应用程序

    是否可以使用 cocoa 隐藏一个特定的应用程序 我知道您可以使用以下代码隐藏所有其他应用程序 NSWorkspace sharedWorkspace performSelectorOnMainThread selector hideOth
  • php 的 sleep() 输出

    我试图基本上每秒运行一个循环 持续 25 秒 for i 0 i lt 25 i 1 echo i sleep 1 问题是它在完全完成之前不会输出 所以在循环继续 25 次之后 有没有办法做到这一点 以便它会在每次睡眠前输出 而不是等到整个
  • 随机但仅在 Chrome 中

    我有这个函数来创建随机的数字范围 function randomRange min max return new Array max min join split map function v i return min i sort fun
  • 返回点击按钮的索引?

    我有一个包含 30 个按钮的数组 我有一个变量按钮Clicked 当我按下按钮时 如何获取索引并将索引号存储在单击的按钮中 谢谢 JButton buttons new JButton 30 for int i 1 i lt 30 i in
  • VueJS 换行符未正确渲染

    我遇到以下问题 我从包含换行符的 API 读取数据字符串 n我想在我的模板中正确显示它们 但是当我做类似的事情时 p mytext p 文本显示为 n其中的字符就像普通文本一样 响应中的文本字符串的格式为 Hello n what s up
  • 迭代多个数组的最佳方法?

    在 Ruby 中迭代多个数组的最佳 美观且高效 方法是什么 假设我们有一个数组 a x y z b a b c 我想要这个 x a y b z c Thanks 另一种方法是使用each with index 快速基准测试表明 这比使用 z
  • PHP SREG 中的 JanRain OpenID?

    我使用我发现的名为 open id 选择器的修改后的登录设置了演示 登录工作正常并且身份 url 返回 但我要求的 SREG 数据从未填充 必需或可选 我正在使用 Gmail 帐户登录我的页面 这是我编辑的 try auth php 中的代
  • 对 SolrConfig.xml 文件的更新未得到反映

    我在 SolrConfig xml 文件中添加了一个新的请求处理程序 但是每当我尝试使用新的处理程序时 我都会收到带有 未知处理程序 错误的 404 修改SolrConfig xml文件时是否还需要修改其他文件 Thanks 您需要重新启动
  • DatagramSocket.send 线程安全吗?

    我打算使用一个实例DatagramSocket并称其为send http docs oracle com javase 7 docs api java net DatagramSocket html send 28java net Data
  • 绘制 3D 线,matlab

    我的问题非常标准 但找不到解决方案 我有点 x y z 并想绘制最佳拟合线 我正在使用下面给出的函数 和 Thanx Smith LS3DLINE M Least squares line in 3 dimensions Version 1
  • 基于 Symfony 2 的项目的安全性和登录

    我正在开发一个基于 Symfony 2 PHP 框架的 Web 应用程序 它有一个供注册用户使用的登录页面 我想为每个登录系统的用户执行一些自定义逻辑 基本上 我想在任何用户登录系统时进行记录 但我不想在主页的控制器上执行此操作 因为每次用