Possible fix for #2246 - needs AD testing

This commit is contained in:
snipe 2016-07-13 15:18:29 -07:00
parent a00198abc7
commit e6b872299d
5 changed files with 59 additions and 2 deletions

View file

@ -398,6 +398,7 @@ class SettingsController extends Controller
$setting->slack_botname = e(Input::get('slack_botname'));
$setting->ldap_enabled = e(Input::get('ldap_enabled', '0'));
$setting->ldap_server = e(Input::get('ldap_server'));
$setting->is_ad = e(Input::get('is_ad', '0'));
$setting->ldap_server_cert_ignore = e(Input::get('ldap_server_cert_ignore', false));
$setting->ldap_uname = e(Input::get('ldap_uname'));
if (Input::has('ldap_pword')) {

View file

@ -67,7 +67,13 @@ class Ldap extends Model
$connection = Ldap::connectToLdap();
$ldap_username_field = Setting::getSettings()->ldap_username_field;
$baseDn = $ldap_username_field.'='.$username.','.Setting::getSettings()->ldap_basedn;
if (Setting::getSettings()->is_ad=='1') {
$baseDn = $username;
} else {
$baseDn = $ldap_username_field.'='.$username.','.Setting::getSettings()->ldap_basedn;
}
$filterQuery = Setting::getSettings()->ldap_auth_filter_query . $username;
if (!$ldapbind = @ldap_bind($connection, $baseDn, $password)) {

View file

@ -0,0 +1,31 @@
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddIsAdToSettings extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('settings', function (Blueprint $table) {
$table->boolean('is_ad')->default(0);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('settings', function ($table) {
$table->dropColumn('is_ad');
});
}
}

View file

@ -676,6 +676,21 @@
</div>
</div>
<!-- Full Multiple Companies Support -->
<div class="form-group {{ $errors->has('full_multiple_companies_support') ? 'error' : '' }}">
<div class="col-md-3">
{{ Form::label('is_ad','Active Directory') }}
</div>
<div class="col-md-9">
{{ Form::checkbox('is_ad', '1', Input::old('is_ad', $setting->is_ad),array('class' => 'minimal')) }}
{!! $errors->first('is_ad', '<span class="alert-msg">:message</span>') !!}
</div>
</div>
<!-- /.form-group -->
<!-- LDAP Server -->
<div class="form-group {{ $errors->has('ldap_server') ? 'error' : '' }}">
<div class="col-md-3">

View file

@ -150,7 +150,11 @@
<td>{{ trans('admin/settings/general.ldap_integration') }}</td>
@if ($setting->ldap_enabled == 1)
<td>{{ trans('general.yes') }}</td>
<td>{{ trans('general.yes') }}
@if ($setting->is_ad == '1')
(Active Directory)
@endif
</td>
@else
<td>{{ trans('general.no') }}</td>
@endif