问题标签 [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.
symfony1 - 允许用户更改自己的密码、电子邮件和个人资料
我正在创建自己的博客引擎来学习 Symfony,我有一个问题:
感谢sfGuardUser模块,我可以添加和编辑用户,但我怎样才能允许用户只编辑他们的记录?
用户应该有权访问允许他们编辑电子邮件、姓名、密码和个人资料的页面。
有任何想法吗 ?
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 ?
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 专家可以指出我正确的方向吗?
*不要那样看我,这是我的第一个网站!至少我没有将它们存储为明文......
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)。
谢谢,
塞尔格
php - 使用 Symfony、sfDoctrineGuardPlugin 插件,我如何自定义 sf_content?使用部分?
我在后端使用带有 sfDoctrineGuardPlugin 的 symfony 1.4.8。
我的问题是如何自定义 sfDoctrineGuardPlugin 的默认内容?例如,我如何在过滤器和表格之间的页面上(在左侧站点上)做一些事情?或者,我如何自定义表格(http://goo.gl/ZmRey)?
我找不到在后端使用部分的任何解决方案。有没有办法在后端使用部分/组件/插槽?
我希望你能理解我的问题并告诉我一个方法。
谢谢你的回答,埃尔曼
session - 在 Symfony 1.4 中扩展 sfDoctrineGuard 登录会话?
有没有一种简单的方法可以在 Symfony 1.4 中延长 sfDoctrineGuard 的登录会话长度?我认为它目前在 30 分钟内超时,但希望让它更长。
谢谢
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。
php - 代理方法在 sfGuardSecurityUser 中不起作用
我正在 Symfony 中开发一个过滤器来跟踪用户在应用程序中执行的某些请求。为了检索当前用户,我使用以下getContext()
方法:
然后我尝试访问它的属性:
问题是 Symfony 引发了以下异常:在... sfGuardSecurityUser.class.php 中的非对象上调用成员函数 getUsername(),除非我以这种方式检索用户:
根据sfDoctrineGuardUser 文档(和源代码),有这样的代理方法:
为什么代理方法不起作用?
更新
经过几周的发展,问题再次出现。这次从使用$sf_user
变量的角度来看。我可以用
但不与
在我自己的回答中,下面是解释。
symfony1 - Symfony:自定义 sfDoctrineGuardPlugin 模块
我正在尝试自定义 sfGuardUser 模块的形式。安装 sfGuardDoctrinePlugin 后,我遵循 Symfony 的级联配置约定并创建了以下结构:
在generator.yml
文件中,我尝试按照
这个相关问题和官方博客中的这篇文章中的建议覆盖默认插件设置:
但是,表单仍然反映默认设置。例如,它仍在显示permissions_list
.
此外,如果您尝试通过覆盖 sfGuardUserAdminForm 来取消设置小部件,您会意识到它也不起作用。
我怎样才能避免这种情况并强制执行真正的覆盖?我错过了什么吗?
谢谢!
更新 1 我找到了一种解决方法,即为组分配一个错误值,然后使用我想要的字段设置一个新组:
更新 2 这是一个记录在案的错误,但似乎核心开发人员没有处理它。这张票包括一个补丁,供像我这样遇到这个问题的人使用。
symfony1 - sfDoctrineGuard - 只获取登录用户的组成员
我有一个包含 sfGuardGroup 列的表,因此当用户登录时,他们只能看到他们组中的用户所做的记录。
创建记录时,我希望 sfGuardGroup 有一个选择框,其中仅包含登录用户所属的组。
请问有人知道怎么做吗?
谢谢