我试图在我的php应用程序中实现AD身份验证,但是我在从会话用户数据中提取信息时遇到了麻烦,而且我不确定原因。
验证工作正常,因为我能够使用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.
}
}
查看:
<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>
非常感谢任何帮助!
答案 0 :(得分:0)
在视图
上 <?php echo $udcn; ?>
删除['cn']
确保您已在config.php
中设置会话配置设置实施例
$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;
答案 1 :(得分:0)
感谢ourmandave!
从$ data中取出单引号。应该是$ this-&gt; load-&gt; view(&#39; user / win&#39;,$ data);