2017-11-27 4 views
0

私はPHPアプリケーションでAD認証を実装しようとしていますが、セッションのuserdataから情報を引き出すのに問題があり、その理由がわかりません。codeigniterのセッションデータを表示できません

私はAD資格情報でログインしてWINを表示できますが、セッションデータを表示できないため、認証が機能します。

私はこの軽量なライブラリを使用しようとしている

Auth_AD Codeigniter Library

認証コントローラ:

public function login() 
{ 


    // read the form fields, lowercase the username for neatness 
    $username = strtolower($this->input->post('username')); 
    $password = $this->input->post('password'); 

    // check the login 
    if($this->auth_ad->login($username, $password)) 
    {   

     $data['udcn'] = $this->session->userdata('cn'); 

     $this->load->view('user/win', '$data'); 
    } 
    else 
    { 

     $this->load->view('user/lose'); 
     // user could not be authenticated, whoops. 
    } 
} 

VIEW:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
    <head> 
    <title>WIN</title> 
    </head> 
    <body> 
     <?php echo $udcn['cn']; ?> 
    </body> 
    </html> 

任意の助けいただければ幸いです!ビューで

+3

として、あなたのビューでこの$this->load->view('user/win', $data);にライン$this->load->view('user/win', '$data');とアクセスそれは '$のdata'オフ単一引用符を取ります。 '$ this-> load-> view( 'user/win'、$ data); ' – ourmandave

+0

これは修正済みです!私はこのコンピュータを長く見つめています...ありがとうございます。私はそれを捕らえておくべきだった。 – dotmiikee

答えて

0

をあなたのセッションコンフィグ設定のOK config.phpの中に設定されていることを確認し['cn']

を削除ourmandaveに感謝します!

$データを一重引用符で囲みます。 $ this-> load-> view( 'user/win'、$ data)でなければなりません。

0

<?php echo $udcn; ?>

あなたは

$config['sess_driver'] = 'files'; 
$config['sess_cookie_name'] = 'ci_session'; 
$config['sess_expiration'] = 7200; 
$config['sess_save_path'] = APPPATH . 'cache/session/'; 
$config['sess_match_ip'] = TRUE; 
$config['sess_time_to_update'] = 300; 
$config['sess_regenerate_destroy'] = TRUE; 
2

変更だけ<?php echo $udcn; ?>

関連する問題