stevebauman / corp
v1.0.8
2015-05-25 13:38 UTC
Requires
- php: >=5.3.0
- illuminate/support: 4.* | 5.*
- stevebauman/adldap-fork: 4.0.*
README
#Corp
为 Laravel 4/5 提供的 AdLDAP 辅助工具包
注意
此包不再开发。请转移到 Adldap-Laravel,它包含更多功能和灵活性。
##安装
将 Corp 添加到您的 composer.json
文件中
"stevebauman/corp": "1.0.*"
然后在您的项目源上运行 "composer update"。
在 "app/config/app.php" 中添加服务提供者
'Stevebauman\Corp\CorpServiceProvider',
添加别名
'Corp' => 'Stevebauman\Corp\Facades\Corp',
发布配置文件
php artisan config:publish stevebauman/corp
##使用
#####访问 AdLDAP 对象
您可以通过以下方式访问所有 adldap 功能
Corp::adldap();
示例
Corp::adldap()->group()->info($groupName);
Corp::adldap()->user()->info($username);
Corp::adldap()->user()->inGroup($username);
Corp::adldap()->user()->modify('admin', array('telephone'=>'555 555-5555'));
所有可用功能 在此处。
#####通过标准 AdLDAP(SSL 或 TLS 需要,必须在包配置文件中启用)更改用户密码 Corp::adldap()->user()->password('username', 'password123');
#####通过 COM(需要 Windows 和 COM 扩展)更改用户密码 Corp::com()->user()->password('username', 'password123'); //返回布尔值
#####通过 COM 激活用户 Corp::com()->user()->activate('username'); //返回布尔值
#####验证 LDAP 用户
Corp::auth('username', 'password'); // Returns true/false (boolean)
#####获取用户信息
$user = Corp::user('username'); // Returns a user object
echo $user->username;
echo $user->name;
echo $user->email
echo $user->group;
echo $user->type;
print_r($user->dn); // Returns distinguished name array
#####获取整个用户列表
$users = Corp::users(); // Returns a laravel collection of user objects of all users on current ldap connection
//Usage for laravel select
Form::select('users', $users->lists('username', 'name'));
#####获取计算机信息
$computer = Corp::computer('computer name'); // Returns a computer object
echo $computer->name;
echo $computer->os->name; // ex. Windows 7 Professional
echo $computer->os->version; // ex. 6.1 (7601)
echo $computer->os->service_pack; // ex. Service Pack 1
echo $computer->type;
echo $computer->group;
echo $computer->host_name;
print_r($computer->dn);
#####获取所有计算机列表
$computers = Corp::computers();
//Usage for laravel select
Form::select('computers', $computers->lists('name', 'name'));
#####获取打印机列表
$printers = Corp::printers();
//Usage for laravel select
Form::select('printers', $printers->lists('name', 'name'));
#####使用 Laravel 的 Auth 驱动程序进行身份验证,但使用 LDAP
if (Corp::auth($username, $password)) { //If Passes LDAP Auth
if(!User::where('username', '=', $username)->first()){ // If web user profile does not exist, create one
$corpUser = Corp::user($username);
$user = new User;
$user->username = $username;
$user->email = $corpUser->email;
$user->fullname = $corpUser->name;
$user->password = Hash::make($password);
$user->save();
} else{ // If web profile does exist, update the password incase of update on active directory
$user = User::where('username', '=', $username)->first();
$user->password = Hash::make($password);
$user->save();
}
if(Auth::attempt(array('username'=>$username, 'password'=>$password))){ //If successfully logs in
return Redirect::route('dashboard.index')
->with('message', sprintf('Welcome %s. You are now logged in.', Auth::user()->fullname))
->with('color', 'success');
}
}
} else{
return Redirect::route('auth.index')
->with('message', 'Your email/password combination was incorrect')
->with('color', 'danger')
->withInput();
}