1

CakePHP 1.3 を使用しており、このメッセージを変更したい:

その場所にアクセスする権限がありません。

に (例):

あ、ごめんなさい

メッセージは次のコードから表示されます。

echo $this->Session->flash('auth');

私は app_controller をに変更します

class AppController extends Controller {

var $components = array('Auth', 'Session', 'Acl');

function beforeFilter() {
    $this->Auth->authorize = 'actions';
    $this->Auth->autoRedirect = false;
    if ($this->params['controller'] == 'pages') {
        $this->Auth->allow('*');
    }
    $this->Auth->allow('pages');
    $this->Auth->loginError = "This message shows up when the wrong credentials are used";    
    $this->Auth->authError = "This error shows up with the user tries to access a part of the website that is protected.";

}

}

しかし、私は同じメッセージに直面しています。

4

3 に答える 3

5

こちらです:

$this->Auth->loginError = "This message shows up when the wrong credentials are used";  
$this->Auth->authError = "This error shows up with the user tries to access a part of the website that is protected.";
于 2012-10-10T11:17:44.973 に答える
4

beforeFilterこれを好きなようにカスタマイズできます

function beforeFilter() {
  // ...
  $this->Auth->authError = __('You must be logged in to view this page.');
  $this->Auth->loginError = __('Invalid Username or Password entered, please try again.');
}

また

Auth コンポーネントをよりパーソナライズする別の方法があります。

次の場所に移動します。

/cake/libs/controller/components/auth.php 

そして見つけますfunction __setDefaults()

ここで、アプリケーション全体のエラー メッセージをカスタマイズできます。

于 2012-10-11T13:47:50.573 に答える
2

これが発生した場合、AuthComponent を UsersController にも明示的に含めている可能性があります。authErrorUsersController の beforeFilter メソッドにも必ず を設定するかparent::beforeFilter()、メッセージを含めるために beforeFilter 呼び出しであることを確認してください。

于 2012-10-11T14:02:57.027 に答える