我在symfony 1.4中使用sfGuardPlugin,我想知道如何摆脱它的“默认”路由。我的意思是“守卫/用户”,“警卫/许可”和“警卫/团体”路线。
事实上,我设计了自己的后端,没有管理员生成器,我用海关网址重新创建了这三个页面。那么如何禁用对默认sfGuard页面的访问?
答案 0 :(得分:2)
答案 1 :(得分:2)
您应该更新文件
/config/sfDoctrineGuardPluginConfiguration.class.php
到了持续版本。
在持续更新之前,尽管有文档,但路线确实已经注册了。
您似乎正在使用此文件的先前版本。
答案 2 :(得分:1)
要停用这3个模块:您只需从settings.yml中删除sfGuardGroup,sfGuardUser,sfGuardPermission以用于后端应用程序。
all:
.settings:
enabled_modules: [default, sfGuardAuth, sfGuardGroup, sfGuardUser, sfGuardPermission]
仅保留身份验证模块
all:
.settings:
enabled_modules: [default, sfGuardAuth]
但我不知道默认是什么。
答案 3 :(得分:1)
如果您(i)仍想使用插件提供的模块,(ii)使用您自己的路线,(iii)阻止人们使用默认的sfGuard路线,(iv)仍然使用默认的/:module / :action route(相当有用),你可以覆盖sfGuardRouting类,这是
插件/ sfGuardPlugin / LIB /路由/ sfGuardRouting.class.php
您只需将此文件复制到
即可lib /
目录然后玩方法。例如,我刚刚评论了该类所有方法的所有代码(因为我在我的apps / myApp / config / routing.yml文件中为sfGuardPlugin的模块创建了自己的路由),就像这样
class sfGuardRouting
{
static public function listenToRoutingLoadConfigurationEvent(sfEvent $event)
{
// $r = $event->getSubject();
// preprend our routes
// $r->prependRoute('sf_guard_signin', new sfRoute('/guard/login', array('module' => 'sfGuardAuth', 'action' => 'signin')));
// $r->prependRoute('sf_guard_signout', new sfRoute('/guard/logout', array('module' => 'sfGuardAuth', 'action' => 'signout')));
}
}