Skip to content

Commit

Permalink
wip: explain LDAP search info
Browse files Browse the repository at this point in the history
issue #2149
  • Loading branch information
frankiejol committed Mar 4, 2025
1 parent 14e0b0a commit 67d6550
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 6 deletions.
3 changes: 3 additions & 0 deletions public/js/ravada.js
Original file line number Diff line number Diff line change
Expand Up @@ -950,10 +950,12 @@
$scope.ldap_entries = 0;
$scope.ldap_verified = 0;
$scope.searching_ldap_attributes = true;
$scope.cn_changed=false;
if ($scope.cn) {
$http.get('/list_ldap_attributes/'+$scope.cn).then(function(response) {
$scope.ldap_error = response.data.error;
$scope.ldap_attributes = response.data.attributes;
$scope.ldap_field = response.data.field;
$scope.dn_found = response.data.dn_found;
$scope.values = response.data.values;
$scope.searching_ldap_attributes = false;
Expand Down Expand Up @@ -1367,6 +1369,7 @@

$scope.new_base = undefined;
$scope.cn ='';
$scope.cn_changed=false;
$scope.list_ldap_attributes();
$scope.list_caches = ['default','none','writethrough'
,'writeback','directsync','unsafe'];
Expand Down
6 changes: 4 additions & 2 deletions script/rvd_front
Original file line number Diff line number Diff line change
Expand Up @@ -2143,7 +2143,10 @@ get '/list_ldap_attributes/(#cn)' => sub {
($user) = Ravada::Auth::LDAP::search_user($cn);
}
};
my $field = $Ravada::CONFIG->{ldap}->{field};
$field = 'cn' if !defined $field;
my $return;

if ( $@ ) {
my $error = $@;
$error =~ s/(.*) at lib\/Ravada.*/$1/;
Expand All @@ -2166,8 +2169,6 @@ get '/list_ldap_attributes/(#cn)' => sub {
$values->{$attribute} = \@values;
}
}
my $field = $Ravada::CONFIG->{ldap}->{field};
$field = 'cn' if !defined $field;
my $user_name = $user->get_value($field);
$return = {
dn_found => $user->dn
Expand All @@ -2176,6 +2177,7 @@ get '/list_ldap_attributes/(#cn)' => sub {
, values => $values
};
}
$return->{field} = $field;

$c->session(ldap_attributes_cn => $cn) if $user;
$LDAP_ATTRIBUTES{$cn} = $return;
Expand Down
21 changes: 17 additions & 4 deletions templates/main/machine_access_ldap.html.ep
Original file line number Diff line number Diff line change
@@ -1,11 +1,24 @@
<div class="card">
<div class="card-body">
<%=l 'Type a typical LDAP user name to fetch the attribute list' %>
<input type="text" ng-model="cn" ng-change="dn_found=''"
<input type="text" ng-model="cn" ng-change="dn_found='';cn_changed=true"
ng-init="cn='<%= $ldap_attributes_cn %>'">
<button ng-enabled="cn"
ng-click="list_ldap_attributes()">fetch</button>
<div class="alert alert-danger" role="alert" ng-hide="ldap_attributes || !cn || searching_ldap_attributes || dn_found">
<a ng-click="fetch_info=!fetch_info"><i class="fa fa-info"></i></a>
<div ng-show="fetch_info" class="border border-muted">
<div class="alert alert-warning m-4 p-4">
<span><%=l 'LDAP search field' %>:</span>
<b>{{ldap_field}}</b>
<a href="https://ravada.readthedocs.io/en/latest/docs/auth_ldap.html#example-field">
(<%=l 'read more' %>)</a>

<small>
<button class="button" type="btn" ng-click="fetch_info=false"><%=l 'dismiss' %></button>
</small>
</div>
</div>
<div class="alert alert-danger" role="alert" ng-hide="ldap_attributes || !cn || searching_ldap_attributes || dn_found || cn_changed">
<div>
<%=l 'User name' %>&nbsp;<b>{{cn}}</b>&nbsp;<%=l 'not found in LDAP server' %>
</div>
Expand All @@ -25,12 +38,12 @@
title="<%=l 'hide attributes'%>"
>-</button>

<span ng-show="check_allowed==1" class="bg-success text-white"><%=l 'access granted' %></span>
<span ng-show="check_allowed==0" class="bg-danger text-white"><%=l 'access denied' %></span>
<span
ng-class="{'text-secondary': !show_values, 'text-dark':show_values}"
>{{dn_found}}</span>

<span ng-show="check_allowed==1" class="bg-success text-white"><%=l 'access granted' %></span>
<span ng-show="check_allowed==0" class="bg-danger text-white"><%=l 'access denied' %></span>
</div>
<div ng-show="show_values" class="container m-8 border border-secondary">
<div ng-repeat="name in ldap_attributes" class="row">
Expand Down

0 comments on commit 67d6550

Please sign in to comment.