Symfony sfGuardPlugin:禁用默认路由

时间:2011-07-26 17:43:00

标签: symfony1 symfony-1.4 sfguard

我在symfony 1.4中使用sfGuardPlugin,我想知道如何摆脱它的“默认”路由。我的意思是“守卫/用户”,“警卫/许可”和“警卫/团体”路线。

事实上,我设计了自己的后端,没有管理员生成器,我用海关网址重新创建了这三个页面。那么如何禁用对默认sfGuard页面的访问?

4 个答案:

答案 0 :(得分:2)

app.yml:

all:
  sf_guard_plugin:
    routes_register: false

documentation中所述。

答案 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'))); 
  }
}