1

我开始使用 Symfony2,我真的很喜欢它!

我有一些问题肯定你会很容易地帮助我!

当我们使用安全层时,文件security.yml我们设置属性access_control,通常是这样的:

  • {路径:^/管理员角色:ROLE_ADMIN}

传统上使用php,我的系统访问规则我使用3个表:

  • 用户 - 用户表
  • 角色 - 角色表
  • 资源 - 资源表
  • 权限 - 授予表

其中,User 有一个角色,一个权限对应一个角色和一个资源。要检查用户是否有权访问资源,请检查表权限。

引入 Symfony2,属性“路径”将是一个资源,而 ROLE_ADMIN 将是用户的角色。

如何做到这一点 security.yml,从数据库中加载设置。我搜索了官方文档,一无所获。

目前,谢谢

4

2 回答 2

0

也许你会在这里找到你的答案。它描述了如何从数据库加载用户:

如何从数据库加载安全用户(实体提供者)

我建议使用 FOSUserBundle。它很容易处理并帮助您管理 Symfony2 中的安全性

FOSUserBundle

问候!

于 2015-08-31T17:34:54.000 回答
0

实际上,“读取”路径(在security.yml文件中)的方式是:

- { path: ^/this/(path|regex|here)$, roles: {CAN_BE_ACCESED_ONLY, BY_THESE_ROLES} }

现在,您从哪里知道哪个用户具有哪个角色?

您加载用户的任何位置。

例如:

public function getRoles()
    {
        return array('ROLE_USER');
    }
于 2015-08-31T21:20:42.993 回答