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: