2011-10-14 101 views
0

正如標題所示,我無法使用IE登錄到我的CakePHP應用程序。相同的用戶名和密碼適用於Chrome,Firefox,Opera和Safari ......只是不是IE(所有版本7-9)。頁面刷新就好像ACL和/或Auth失敗一樣。CakePHP Auth + ACL無法使用IE登錄

$ this-> Session-> flash('auth')或$ this-> Session-> flash()中沒有錯誤。

我很茫然......

下面是代碼:

控制器:

function login(){ 
    $this->layout = 'content'; 
} 

查看:

echo $this->Html->div('login_area', 
    $this->Html->div('login_form', 
     $this->Html->div('error', $this->Session->flash()). 
     $this->Html->div('error', $this->Session->flash('auth')). 
     $this->Html->div('login_header', 'Member Login'). 
     '<hr>'. 
     $form->create('User', array('action' => 'login')). 
      $this->Html->div('login_line', 
       $this->Html->div('left', 'Username: '). 
       $this->Html->div('right', $this->Form->input('username', array('div' => false, 'label' => false))) 
      ). 
      $this->Html->div('login_line', 
       $this->Html->div('left', 'Password: '). 
       $this->Html->div('right', $this->Form->input('password', array('div' => false, 'label' => false))) 
      ). 
      $this->Html->div('login_line', $this->Html->div('login_button', $this->Form->submit('Login'))). 
      $this->Html->div('clear'). 
     $form->end(). 
     $this->Html->div('', $this->Html->link('Forgot your password?', array('controller' => 'users', 'action' => 'recover_password')), array('style' => 'text-align:center')) 
    ) 
); 

的AppController:

var $components = array('Acl', 'Auth', 'Session','Filter'); 
var $helpers = array('Html', 'Form', 'Session'); 
function beforeFilter(){ 
    $this->Auth->actionPath = 'controllers/'; 
    $this->Auth->authorize = 'actions'; 
    $this->Auth->authError = 'Please login to view this page.'; 
    $this->Auth->loginError = 'Incorrect username/password combination'; 
    $this->Auth->logoutRedirect = array('controller' => 'pages', 'action' => 'index'); 
    $this->Auth->loginRedirect = array('controller' => 'users', 'action' => 'dashboard'); 
} 
+0

實際上不可能在沒有任何細節的情況下調試問題。至少顯示您在登錄視圖中使用的代碼。 – JJJ

回答

3

我找到了解決辦法。系統管理員設置站點subdomain.domain.com ...子域中有一個下劃線。

原因在域的任何部分存在下劃線時,IE無法保存會話。

注意:在我的測試中,似乎只有IE以這種方式運行,所有其他瀏覽器(Chrome,FireFox,Safari,Opera)在這種情況下保存會話信息就好了。

+0

只是一個了不起的地方..我知道它的不良做法評論說謝謝,但我不得不謝謝你 – George