2

私はsymfony1.4でsfGuardPluginを使用していますが、その「デフォルト」ルートを取り除く方法を考えています。つまり、「ガード/ユーザー」、「ガード/許可」、「ガード/グループ」のルートです。

実際、私は管理ジェネレーターなしで独自のバックエンドを設計し、カスタムURLを使用してこれらの3つのページを再作成しました。では、デフォルトのsfGuardページへのアクセスを無効にするにはどうすればよいですか?

4

4 に答える 4

2

ファイルを更新する必要があります

/config/sfDoctrineGuardPluginConfiguration.class.php

最後のバージョンに。

最後の更新の前に、ドキュメントにもかかわらず、ルートはとにかく登録されました。

このファイルの以前のバージョンを使用しているようです。

于 2011-07-26T19:44:38.987 に答える
2

app.yml:

all:
  sf_guard_plugin:
    routes_register: false

ドキュメントに記載されているように。

于 2011-07-26T18:33:49.560 に答える
1

これらの3つのモジュールを非アクティブ化するには:バックエンドアプリケーションのsettings.ymlからsfGuardGroup、sfGuardUser、sfGuardPermissionを削除する必要があります。

all:
  .settings:
    enabled_modules: [default, sfGuardAuth, sfGuardGroup, sfGuardUser, sfGuardPermission]

認証モジュールのみを保持するため

all:
  .settings:
    enabled_modules: [default, sfGuardAuth]

ただし、デフォルトが何であるかはわかりません。

于 2011-07-26T20:09:55.500 に答える
1

(i)プラグインによって提供されるモジュールを引き続き使用する場合、(ii)独自のルートを使用する場合、(iii)ユーザーがデフォルトのsfGuardルートを使用できないようにする場合、および(iv)デフォルトの/:module /:actionルートを使用する場合(これはかなり便利です)、ここにあるsfGuardRoutingクラスをオーバーライドできます

plugins / sfGuardPlugin / lib / routing / sfGuardRouting.class.php

このファイルを自分のファイルにコピーするだけです

lib /

ディレクトリを作成してから、メソッドを試してみてください。たとえば、sfGuardPluginのモジュールについて、クラスのすべてのメソッドのすべてのコードにコメントを付けました(apps / myApp / config / routing.ymlファイルで独自のルートを作成したため)。

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'))); 
  }
}
于 2013-06-25T20:50:26.643 に答える