- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到了这个问题。
已使用 FosUserBundle 和 FacebookBundle 配置我的 Sf2 环境。
我已经成功地进入了前端的一些仅限管理员的部分(意思是主持人的事情)。默认情况下,在我的项目中创建的每个用户都只有 ROLE_USER。
“主持人”只能通过拥有 ROLE_ADMIN 来访问。问题是,即使我通过“$user->addRole('ROLE_ADMIN')
添加角色,检查用户是否具有此角色也失败。如果用户拥有这种角色,我想展示一些东西,但我不能。
“{% if is_granted('ROLE_ADMIN') %}
”都不是, “$this->container->get('security.context')->isGranted('ROLE_ADMIN')
”也没有成功。
每当涉及到 TWIG 时,我都会得到 FALSE 或什么都没有。
检查用户是否拥有 ROLE_USER 有效。
只是为了确保我添加了我的配置内容。
security:
encoders:
FOS\UserBundle\Model\UserInterface: sha512
Symfony\Component\Security\Core\User\User: plaintext
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: ROLE_ADMIN
providers:
chain_provider:
chain:
providers: [fos_userbundle, my_fos_facebook_provider]
fos_userbundle:
id: user_provider
my_fos_facebook_provider:
id: my.facebook.user
firewalls:
public:
pattern: ^/
form_login:
login_path: /login
check_path: /login_check
provider: fos_userbundle
csrf_provider: form.csrf_provider
use_referer: true
fos_facebook:
app_url: "http://www.facebook.com/apps/application.php?id={{APPID}}"
server_url: "http://l.local/app_dev.php/"
login_path: /login
check_path: /login_fb_check
default_target_path: /
provider: my_fos_facebook_provider
use_referer: true
logout:
path: /logout
invalidate_session: false
anonymous: true
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/, role: ROLE_ADMIN }
- { path: ^/secured/.*, role: IS_AUTHENTICATED_FULLY }
- { path: ^/facebook/, role: [ROLE_FACEBOOK] }
- { path: ^/dodaj$, role: ROLE_USER }
- { path: ^/.*, role: [IS_AUTHENTICATED_ANONYMOUSLY] }
如果有人可以帮忙,请帮忙,因为我不知道该怎么办。
我总是检查以确定我的角色(“ROLE_ADMIN”)是否已添加到我的数据库中,事实上,确实如此。
最佳答案
该角色是 session 生成过程(连接、登录..)。所以你可以从安全上下文( session )中获取它。直接在 Twig 模板中或从其他地方的 securityContext 对象:
在twig模板中使用is_granted('ROLE_ADMIN')
在 Controller (具有安全上下文)中使用 $securityContext->isGranted('ROLE_ADMIN')
角色变更后不要忘记重新签名。
关于Symfony2 FosUserBundle 角色 ROLE_ADMIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23197588/
刚开始用fosuserbundle,今天激活确认注册链接。 效果很好,但是如果用户再次单击电子邮件中的确认链接,则会收到该错误: 具有确认 token “3hiqollkisg0s4ck4w8g0gw
我正在关注这个:https://symfony.com/doc/current/bundles/FOSUserBundle/overriding_templates.html 我在 vendor/fr
这是我的 original question 的后续问题我试图在身份验证期间重新散列用户密码以从旧数据库迁移。 在那里实现有用的答案之后。我现在遇到了另一个问题,我没有收到任何错误(使用以下代码)但是
我在 Windows 上使用 symfony,我尝试按照 official documentation 中的描述配置 FOSUserBundle。 当我运行 php app/console doctr
我正在尝试为我的电子邮件定义自己的模板,该模板在用户请求密码时发送,但是在添加HTML部分时不起作用。 这是模板: {% trans_default_domain 'FOSUserBundle' %}
我已经搜索了两个小时,无法在FOSUserBundle中找到有关如何实现“忘记密码”功能的任何信息。 这是 bundle 软件的一部分,还是我必须创建自己的东西。 最佳答案 实际上,您没有找到任何关于
我正在 Symfony2 Web 应用程序中添加新功能,经过几次开发后,编辑用户功能停止工作。 出于某种原因,错误显示在 edit user screen 中。 ,不在 show user 中. 错误
我想覆盖 FOSUserBundle 中的注册表单。 我已关注此页面:https://github.com/FriendsOfSymfony/FOSUserBundle/blob/1.3.x/Reso
我正在使用带有 FOSUserBundle 的 Symfony 2.8.2。当我尝试注销时,出现以下错误: You must activate the logout in your security
因此,当我在生产环境中通过 fosUserBundle 表单注册时,它会向我的 gmail 发送一封电子邮件,但电子邮件中没有确认链接,只有这个 registration.email.message
我已经在 FOSUserBundle 中激活了电子邮件确认。它允许用户在之后通过邮件收到链接他们注册。 registration: confirmation: enabled:
关闭。这个问题是opinion-based .它目前不接受答案。 想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它. 去年关闭。 Improve this
我正在构建一个应用程序,其中我有(至少)两种不同的用户类型,比如说买家和卖家。每个用户类型都应该有自己的逻辑(注册表格/流程、配置文件、权限等),但我想对每个用户使用 FOSUserBundle,以便
我正在使用 FOSUserBundle 和 Group 选项。 注册工作。组的创建也有效。 如果我创建 2 个组,admin 和 client 并手动添加 a:1:{i:0;s:10:"ROLE_AD
我有实体 用户 扩展 FOSUserBundle . class User extends BaseUser { ... protected $ref_id; /** * @
有人可以解释一下如何在 Controller 中手动创建一个“记住我” cookie吗? 我希望用户在按下“注册”后保持登录状态 按钮,而无需随后使用其凭据登录。 我试图手动创建一个cookie,但我
我目前正在尝试找出将原则持久角色实体实现为与 FOSUserBundle 兼容的 M2M 关系的最佳方法。以前我只使用带有默认实现的字符串,并使用教义数组映射来持久化它。 现在我需要将角色作为单独的实
我是 symfony 的新用户,我目前正在上一门类(class)(全日制),我的问题: # app/config/config.yml framework: translator:
我在Symfony应用程序中使用FOSUserBundle,这确实很棒。他们在单独的模板中具有登录和注册表单。我希望两者都在一个模板中彼此相邻显示。 因此,我创建了app/Resources/FOSU
我在覆盖实体时遇到问题。 我需要该字段 emailCanonical不是独一无二的。 这是我所做的: 在我的 UserBundle\Resources\config\doctrine\User.orm
我是一名优秀的程序员,十分优秀!