Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Projets publics
Ravada-Mirror
Commits
835718a3
Commit
835718a3
authored
Dec 14, 2020
by
frankiejol
Browse files
fix(auth): properly log out in LDAP
parent
e7317764
Changes
2
Hide whitespace changes
Inline
Side-by-side
lib/Ravada/Auth/LDAP.pm
View file @
835718a3
...
...
@@ -440,14 +440,14 @@ sub _login_bind {
for
my
$user
(
@user
)
{
my
$dn
=
$user
->
dn
;
$found
++
;
my
$
mesg
=
$LDAP_ADMIN
->
bind
(
$dn
,
password
=>
$password
);
if
(
!
$mesg
->
code
()
)
{
my
$
ldap
=
_connect_ldap
(
$dn
,
$password
);
if
(
$ldap
)
{
$self
->
{
_auth
}
=
'
bind
';
$self
->
{
_ldap_entry
}
=
$user
;
return
1
;
}
warn
"
ERROR:
"
.
$mesg
->
code
.
"
:
"
.
$mesg
->
error
.
"
:
Bad credentials for
$dn
"
if
$
Ravada::
DEBUG
&&
$
mesg
->
code
;
warn
"
ERROR: Bad credentials for
$dn
"
if
$
Ravada::
DEBUG
&&
$
@
;
}
return
0
;
}
...
...
t/mojo/10_login.t
View file @
835718a3
...
...
@@ -183,6 +183,22 @@ sub test_copy_without_prepare($clone) {
remove_machines
(
$clone
);
}
sub
test_logout_ldap
{
my
(
$username
,
$password
)
=
(
new_domain_name
(),
$$
);
my
$user
=
create_ldap_user
(
$username
,
$password
);
$t
->
post_ok
('
/login
'
=>
form
=>
{
login
=>
$username
,
password
=>
$password
});
is
(
$t
->
tx
->
res
->
code
(),
302
);
$t
->
ua
->
get
(
$URL_LOGOUT
);
$t
->
post_ok
('
/login
'
=>
form
=>
{
login
=>
$username
,
password
=>
'
bigtime
'});
is
(
$t
->
tx
->
res
->
code
(),
403
);
$t
->
post_ok
('
/login
'
=>
form
=>
{
login
=>
$username
,
password
=>
$password
});
is
(
$t
->
tx
->
res
->
code
(),
302
);
}
########################################################################################
init
('
/etc/ravada.conf
',
0
);
...
...
@@ -195,16 +211,19 @@ if (!rvd_front->ping_backend) {
exit
;
}
remove_old_domains_req
();
$t
=
Test::
Mojo
->
new
(
$SCRIPT
);
$t
->
ua
->
inactivity_timeout
(
900
);
$t
->
ua
->
connect_timeout
(
60
);
my
@bases
;
my
@clones
;
test_logout_ldap
();
test_login_fail
();
remove_old_domains_req
();
for
my
$vm_name
(
@
{
rvd_front
->
list_vm_types
}
)
{
diag
("
Testing new machine in
$vm_name
");
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment