Hello all...

I have a simple mod_perl program that does some custom role based
authentication before granting access to certain resources.  That part does
work, but for a new feature I need to be able to embed roles into my
headers.  Try as may, try as I might, those roles never show up...


consider a portion of my mod_perl program:

#####################
sub handler {
...
if($user) {
        my $val = rest_call($user,$context, $r->log);
        my $roles = $cache_hash{'roles'}->{$user};
        my $role_string = join(',', @$roles);
        $r->headers_out->set('prisme-roles'=> $role_string );
        #$r->headers_out->add('prisme.roles'=> $role_string );
        $r->err_headers_out->add('prisme-roles2', $role_string);
        #$|++;
        $r->rflush();# $r->rflush can't be called before the response phase
if using PerlFixupHandler Prisme::ValidateHeader
        $r->log->info("Request end on pid $$: The user for this request is
$user, the roles are $role_string, returning $val");
        return $val; #OK or FORBIDDEN
        }
###################################

With either config in http.conf:
##############################
<Location /rails_prisme/>
  SetHandler perl-script
  PerlResponseHandler Prisme::ValidateHeader
  #PerlFixupHandler Prisme::ValidateHeader
</Location>
####################


My Ruby on Rails controller:
#######################
def warmup
    @headers = {}
    @warmup_count = $PROPS['PRISME.warmup_apache'].to_i
    request.headers.each do |elem|
      @headers[elem.first.to_s] = elem.last.to_s
    end
    response.headers.each do |elem|
      @headers[elem.first.to_s] = elem.last.to_s
end
    respond_to do |format|
      format.html # list_headers.html.erb
      format.json { render :json => params['counter'] }
    end
  end
#######################


Never sees those headers!  Help!

Thanks,

Cris


On Tue, Jun 13, 2017 at 12:52 PM, Cris Shupp <csh...@gmail.com> wrote:

> Hello all...
>
> I have a simple mod_perl program that does some custom role based
> authentication before granting access to certain resources.  That part does
> work, but for a new feature I need to be able to embed roles into my
> headers.  Try as may, try as I might, those roles never show up...
>
>
> consider a portion of my mod_perl program:
>
> sub handler {
> ...
> if($user) {
>         my $val = rest_call($user,$context, $r->log);
>         my $roles = $cache_hash{'roles'}->{$user};
>         my $role_string = join(',', @$roles);
>         $r->headers_out->set('prisme-roles'=> $role_string );
>         #$r->headers_out->add('prisme.roles'=> $role_string );
>         $r->err_headers_out->add('prisme-roles2', $role_string);
>         #$|++;
>         $r->rflush();# $r->rflush can't be called before the response
> phase if using PerlFixupHandler Prisme::ValidateHeader
>         $r->log->info("Request end on pid $$: The user for this request is
> $user, the roles are $role_string, returning $val");
>         return $val; #OK or FORBIDDEN
>         }
>
> With either config in http.conf:
>
> <Location /rails_prisme/>
>   SetHandler perl-script
>   PerlResponseHandler Prisme::ValidateHeader
>   #PerlFixupHandler Prisme::ValidateHeader
> </Location>
>
> My Ruby on Rails controller:
>
>
>
>

Reply via email to