Changeset 1977


Ignore:
Timestamp:
03/28/17 13:18:18 (7 years ago)
Author:
nanardon
Message:

Fix ssl auth and redirect issue introduce by previous fix

Location:
trunk/LATMOS-Accounts-Web/lib/LATMOS/Accounts/Web/Controller
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/LATMOS-Accounts-Web/lib/LATMOS/Accounts/Web/Controller/Login.pm

    r1976 r1977  
    1818 
    1919sub begin : Private { 
     20    my ( $self, $c ) = @_; 
     21    $c->forward('/needlogin'); 
    2022    return 1; 
    2123} 
     
    2729sub index :Path :Args(0) { 
    2830    my ( $self, $c ) = @_; 
    29  
    30     my $sslid = $c->config->{ssl}->{SSL_ID} || 'HTTP_SSL_CLIENT_S_DN_EMAIL'; 
    31     for ($sslid) { 
    32         $_ or last; 
    33  
    34         /^NULL$/ and last; 
    35  
    36         my @id = $c->model('Accounts')->db->search_objects('user', "mail=$sslid"); 
    37  
    38         scalar(@id) == 1 or last; 
    39  
    40         $c->stash->{sslid} = $ENV{$sslid}; 
    41     } 
    4231 
    4332    if ($c->req->param('username')) { 
  • trunk/LATMOS-Accounts-Web/lib/LATMOS/Accounts/Web/Controller/Root.pm

    r1970 r1977  
    8686 
    8787    if ($path !~ /^(login|static)/) { 
    88         $c->session->{redirurl} ||= $c->req->uri; 
    89         $c->session->{redirparam} ||= $c->req->params; 
     88        $c->session->{redirurl} = $c->req->uri; 
     89        $c->session->{redirparam} = $c->req->params; 
    9090    } 
    9191 
    92     my $sslid = $c->config->{ssl}->{SSL_ID} || 'HTTP_SSL_CLIENT_S_DN_EMAIL'; 
    93     $c->stash->{sslid} = $ENV{$sslid}; 
     92    my $sslenv = $c->config->{ssl}->{SSL_ID} || 'HTTP_SSL_CLIENT_S_DN_EMAIL'; 
     93    my $sslid = $ENV{$sslenv}; 
     94    for ($sslid) { 
     95        $_ or last; 
     96 
     97        /^NULL$/ and last; 
     98 
     99        my @id = $c->model('Accounts')->db->search_objects('user', "mail~$sslid"); 
     100 
     101        scalar(@id) == 1 or last; 
     102 
     103        $c->stash->{sslid} = $sslid; 
     104    } 
    94105 
    95106    $c->stash->{template} = 'login/index.tt'; 
Note: See TracChangeset for help on using the changeset viewer.