管理员和前端的FOSUserBundle

时间:2013-09-12 09:27:18

标签: symfony login admin frontend fosuserbundle

我是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自动为前端创建用户角色,为admin部分创建admin角色。

1 个答案:

答案 0 :(得分:2)

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

看看this answer并查看symfony的DefaultAuthenticationSuccessHandler可能会找到一些灵感。

此外,您需要覆盖访问被拒绝的处理程序(请参阅this answer),以便将用户重定向到不同的登录页面,具体取决于他们尝试访问的URL而不进行身份验证。