1

我是 Symfony2 的新手。我正在尝试使用 FOSUserBundle 进行用户身份验证。

是否可以将单个 FOSUserBundle 用于管理和前端部分?如果是,那么我需要在脚本级别进行哪些更改?

我想要的是:

1. if i access url http://localhost/symfony/admin/ then i should be redirected to http://localhost/symfony/admin/login if admin is not logged in and after successful login, i should be redirected to http://localhost/symfony/admin/

2. if i access url http://localhost/symfony/profile/ then i should be redirected to http://localhost/symfony/login if user is not logged in and after successful login, i should be redirected to http://localhost/symfony/profile/.

默认情况下,FOSUserBundle 以管理员身份创建用户。那么需要进行哪些更改才能让 bundle 自动为前端创建用户角色并为管理部分创建管理员角色。

4

1 回答 1

2

您需要在安全配置中覆盖身份验证成功侦听器,以便在登录后根据用户的角色将用户重定向到不同的页面。

看看这个答案,也许可以通过查看 symfony 的DefaultAuthenticationSuccessHandler找到一些灵感。

此外,您将需要覆盖拒绝访问处理程序(请参阅此答案),以根据他们在未经身份验证的情况下尝试访问的 url 将用户重定向到不同的登录页面。

于 2013-09-12T09:47:19.227 回答