私はsymfony1.4でsfGuardPluginを使用していますが、その「デフォルト」ルートを取り除く方法を考えています。つまり、「ガード/ユーザー」、「ガード/許可」、「ガード/グループ」のルートです。
実際、私は管理ジェネレーターなしで独自のバックエンドを設計し、カスタムURLを使用してこれらの3つのページを再作成しました。では、デフォルトのsfGuardページへのアクセスを無効にするにはどうすればよいですか?
私はsymfony1.4でsfGuardPluginを使用していますが、その「デフォルト」ルートを取り除く方法を考えています。つまり、「ガード/ユーザー」、「ガード/許可」、「ガード/グループ」のルートです。
実際、私は管理ジェネレーターなしで独自のバックエンドを設計し、カスタムURLを使用してこれらの3つのページを再作成しました。では、デフォルトのsfGuardページへのアクセスを無効にするにはどうすればよいですか?
ファイルを更新する必要があります
/config/sfDoctrineGuardPluginConfiguration.class.php
最後のバージョンに。
最後の更新の前に、ドキュメントにもかかわらず、ルートはとにかく登録されました。
このファイルの以前のバージョンを使用しているようです。
これらの3つのモジュールを非アクティブ化するには:バックエンドアプリケーションのsettings.ymlからsfGuardGroup、sfGuardUser、sfGuardPermissionを削除する必要があります。
all:
.settings:
enabled_modules: [default, sfGuardAuth, sfGuardGroup, sfGuardUser, sfGuardPermission]
認証モジュールのみを保持するため
all:
.settings:
enabled_modules: [default, sfGuardAuth]
ただし、デフォルトが何であるかはわかりません。
(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')));
}
}