问题标签 [sfdoctrineguard]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
866 浏览

symfony1 - 允许用户更改自己的密码、电子邮件和个人资料

我正在创建自己的博客引擎来学习 Symfony,我有一个问题:

感谢sfGuardUser模块,我可以添加和编辑用户,但我怎样才能允许用户只编辑他们的记录?

用户应该有权访问允许他们编辑电子邮件、姓名、密码和个人资料的页面。

有任何想法吗 ?

0 投票
2 回答
302 浏览

symfony1 - allow users to change their own info

I'm creating my own blog engine to learn Symfony, and I have a question :

How can I let users edit their password, name, and Profile (embedded form) ?

I tried creating an admin-module on sfGuardUser, and hiding fields like "permisions" and "groups", but that form erases the permissions on saving :(

Any ideas ?

0 投票
2 回答
1695 浏览

security - 将现有用户和密码迁移到新的 Symfony/sfDoctrineGuard 用户系统

我有一个现有的、非基于框架的 PHP/MySQL 网站。它有一个简单的安全模型,带有一个包含用户名和散列 (MD5) 密码的用户表。

我目前正在开发这个网站的“版本 2”,这次使用 Symfony 和 Doctrine。新版本运行良好,我正在使用 sfDoctrineGuard 插件进行用户管理。

我想以最少的麻烦将现有用户迁移到新应用程序中,保留他们现有的用户名和密码。不过,我的主要问题是我想更改我正在使用的密码哈希。

当前站点使用密码*的未加盐 MD5 哈希。我已经想出了如何在保持现有算法的同时将用户迁移到 Symfony/sfDoctrineGuard(通过为 unsalted MD5 提供我自己的“算法”函数。)但是 unsalted md5 显然并不理想。

所以 - 我的问题是,给定一堆用户,我可以使用我的自定义纯 MD5 密码哈希算法成功迁移到 sfDoctrineGuard 用户,有什么方法可以转换这些用户,以便他们使用标准的盐渍 SHA1 sfDoctrineGuard 算法?

我想我只能在每个用户登录时为每个用户执行此操作,因为这是唯一一次我将拥有用户的明文密码以进行重新散列。我想我需要做的是在“此用户刚刚使用此密码成功登录”点上挂钩,这样我就可以将用户的算法、盐和密码设置为新的 SHA1 系统,并将用户保存回数据库,他们甚至都不知道。

我已经挖了一点,我想不出一种方法来覆盖或挂钩到 sfDoctrineGuard(特别是 sfGuardSecurityUser,我想?)登录系统在正确的位置。好吧,并非没有破解实际的插件文件,这看起来很邪恶。

那里有任何 Symfony/sfDoctrineGuard 专家可以指出我正确的方向吗?

*不要那样看我,这是我的第一个网站!至少我没有将它们存储为明文......

0 投票
1 回答
711 浏览

php - sfDoctrineGuardPlugin 在验证凭据后忘记了凭据

我正在寻找身份验证问题的解决方案。去年五月,我只发现一个人(在 symfony-users Google 组中)有同样的问题(底部的#2)。据我所知,没有将解决方案发布到列表中。

在我的 Mac OS X 开发环境中,sfDoctrineGuardPlugin 工作正常。当我尝试访问安全页面时,我被重定向到登录。当我输入有效凭据时,我会被重定向回最初请求的页面。

在我在 DreamHost 的测试环境中,它无法正常工作。当我尝试访问安全页面时,我被重定向到登录。当我输入有效凭据时,我会被重定向回最初请求的页面,但 symfony 会丢失我的身份验证状态并(重新)将我重定向回再次登录,并清空表单。(相比之下,如果我输入了无效的凭据,那么我会在登录页面上收到一条错误消息,并且用户名仍然填写。)

在每个环境中,symfony 都会验证我的凭据是否有效并且我具有“管理员”权限,但是一旦将我重定向回我请求的页面,测试就会忘记这些凭据。

apache 错误日志中没有显示任何有趣的内容。

开发日志片段:

测试日志片段:

可能值得一提的是 backend/templates/layout.php 中的这个片段,它解释了 Dev 中的 navigation/_navMenu 行,但不在测试中:
<?php if ($sf_user->isAuthenticated()): ?>
    <?php include_component('navigation', 'navMenu'); ?>
    ...
 <?php endif ?>

symfony-users 组中的相关帖子:

您应该检查 symfony 和 apache 的日志。

加布里埃尔

5 月 28 日下午 2:33,sdwdd 写道:

大家好。

Symfony 1.4 安装有几个问题:
1. [无关]
2. sfGuard 插件的问题。
它在开发环境中可以正常工作,但是在用户登录后在测试环境中它会丢失会话。用户登录,但在页面重新加载后,身份验证会话丢失。

安装是带有 sfGuardPlugin 和一些自定义模板的核心 Symfony 1.4。

对这些有什么想法吗?我觉得服务器配置有问题,但是不知道可能出了什么问题(将 memory_limit 提高到 512Mb)。

谢谢,
塞尔格

0 投票
1 回答
681 浏览

php - 使用 Symfony、sfDoctrineGuardPlugin 插件,我如何自定义 sf_content?使用部分?

我在后端使用带有 sfDoctrineGuardPlugin 的 symfony 1.4.8。

我的问题是如何自定义 sfDoctrineGuardPlugin 的默认内容?例如,我如何在过滤器和表格之间的页面上(在左侧站点上)做一些事情?或者,我如何自定义表格(http://goo.gl/ZmRey)?

我找不到在后端使用部分的任何解决方案。有没有办法在后端使用部分/组件/插槽?

我希望你能理解我的问题并告诉我一个方法。

谢谢你的回答,埃尔曼

0 投票
2 回答
555 浏览

session - 在 Symfony 1.4 中扩展 sfDoctrineGuard 登录会话?

有没有一种简单的方法可以在 Symfony 1.4 中延长 sfDoctrineGuard 的登录会话长度?我认为它目前在 30 分钟内超时,但希望让它更长。

谢谢

0 投票
1 回答
989 浏览

php - Symfony,Doctrine Guard Plugin,generator.yml 文件,使用其他模块自定义

我正在使用 Symfony 1-4 和 sfDoctrineGuardPlugin。

我的问题是,在 Doctrine Guard Plugin 上,你知道每个模块都带有 generator.yml。我需要自定义generator.yml。例如,我需要显示另一个表的(模块)列。

// for example i am at X module and need to sort according to another table's/module's column ...

config:
list:
sort: [X, asc] // x is not on my module

与列表/显示相同。我需要显示一些不在我当前模块上的列...

我在网上找不到它。非常感谢您分享您的想法和/或信息,erman。

0 投票
4 回答
605 浏览

php - 代理方法在 sfGuardSecurityUser 中不起作用

我正在 Symfony 中开发一个过滤器来跟踪用户在应用程序中执行的某些请求。为了检索当前用户,我使用以下getContext()方法:

然后我尝试访问它的属性:

问题是 Symfony 引发了以下异常:在... sfGuardSecurityUser.class.php 中的非对象上调用成员函数 getUsername(),除非我以这种方式检索用户:

根据sfDoctrineGuardUser 文档(和源代码),有这样的代理方法:

为什么代理方法不起作用?

更新

经过几周的发展,问题再次出现。这次从使用$sf_user变量的角度来看。我可以用

但不与

在我自己的回答中,下面是解释。

0 投票
1 回答
958 浏览

symfony1 - Symfony:自定义 sfDoctrineGuardPlugin 模块

我正在尝试自定义 sfGuardUser 模块的形式。安装 sfGuardDoctrinePlugin 后,我遵循 Symfony 的级联配置约定并创建了以下结构:

generator.yml文件中,我尝试按照 这个相关问题官方博客中的这篇文章中的建议覆盖默认插件设置:

但是,表单仍然反映默认设置。例如,它仍在显示permissions_list.

此外,如果您尝试通过覆盖 sfGuardUserAdminForm 来取消设置小部件,您会意识到它也不起作用。

我怎样才能避免这种情况并强制执行真正的覆盖?我错过了什么吗?

谢谢!

更新 1 我找到了一种解决方法,即为组分配一个错误值,然后使用我想要的字段设置一个新组:

更新 2 这是一个记录在案的错误,但似乎核心开发人员没有处理它。这张票包括一个补丁,供像我这样遇到这个问题的人使用。

0 投票
1 回答
516 浏览

symfony1 - sfDoctrineGuard - 只获取登录用户的组成员

我有一个包含 sfGuardGroup 列的表,因此当用户登录时,他们只能看到他们组中的用户所做的记录。

创建记录时,我希望 sfGuardGroup 有一个选择框,其中仅包含登录用户所属的组。

请问有人知道怎么做吗?

谢谢