2011-10-14 1 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

관련 문제