此包已被放弃,不再维护。作者建议使用 adldap2/adldap2-laravel 包。

Laravel 4/5 的 AdLDAP 辅助工具

v1.0.8 2015-05-25 13:38 UTC

This package is auto-updated.

Last update: 2019-02-20 19:33:11 UTC


README

#Corp

Travis CI Code Climate Scrutinizer Code Quality Latest Stable Version Total Downloads Latest Unstable Version License

为 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();
}