2011-02-01 12 views
0

私は2つのアプリケーションを持っています。データベースに格納されているフィールドに従って無効にしたい アプリケーションを無効にすることは可能ですか?私は、プロジェクトを実行するコードを見つけました。無効にしてください。しかし、それは十分ではないと思います。Symfonyのアプリケーションまたはモジュールを無効にする

私が考えているのは、カスタムフィルタ内のデータベースに格納されている値をチェックしてから、「サイトが無効です」というアクションにリダイレクトする方法です。

答えて

1

あなたは、現在のユーザーが要求されたモジュール/アクションにアクセスすることが可能かどうかを確認するフィルタを作成することができます:ユーザクラスで

if($this->getRequest()->getParameter('module')=='yourmodule' && !$this->getUser()->mayAccess('yourmodule'()){ 
    //redirect to somewhere else 
} 

を:

function mayAccess($module){ 
    $key = $module.'_enabled'; 

    if(!$this->hasAttribute($key)){ 
    $enabled = ... //Fetch permission from database 
    $this->setAttribute($key,$enabled); 
    } 

    return $this->getAttribute($key); 
} 

そのような何かを。おそらく、あなたは、モジュールsecurity.ymlファイルを使用して、hasCredential()メソッドのように、ユーザーの資格とアクセス許可をチェックする関数をオーバーライドすることができますか?それは実際にそれを行うよりクリーンな方法と思われます。

参照:http://www.symfony-project.org/api/1_4/sfBasicSecurityUser

0

index.phpファイルに必要なアプリケーションだけを動的に読み込むことができます。

関連する問題