0

我有实体,它的名称是任务。还有字段、setter、getter。该实体工作正常。从 ROLE_ADMIN,我可以更新、创建等...但是现在我有解决控制器...并且在 ROLE_USER 的索引操作中我想要显示应该更新任务实体中的字段“状态”的表单。我怎么能做到这一点?

我可以只在安全文件中为 ROLE_USER 提供访问权限以更新 Task 吗?如果是,请举个例子。我试试这个:

- { path: ^/task/edit, roles: ROLE_ADMIN }
- { path: ^/task/edit, roles: ROLE_USER }

但它没有用。

4

1 回答 1

1

使用 ROLE_ADMIN 删除第一行,它应该可以工作。当使用默认配置 ROLE_ADMIN 扩展 ROLE_USER 时,这意味着如果将路由设置为 ROLE_USER 可访问,则 ROLE_ADMIN 也会自动访问该路由。

在您的配置中,具有 ROLE_ADMIN 的路由首先匹配,因此您应该收到 403 错误,并且您的第二条路由将永远不会被使用。

如果您希望其余操作受到保护并且只有编辑可以访问,请执行以下操作:

- { path: ^/task/edit, roles: ROLE_USER }
- { path: ^/task, roles: ROLE_ADMIN }

这样,更具体的路由 /task/edit 检查用户,而所有其他以 /task 开头的路由都需要 ROLE_ADMIN。

于 2013-06-15T07:37:08.843 回答