summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Pazdziora <jpazdziora@redhat.com>2014-01-08 03:28:09 -0500
committerJan Pazdziora <jpazdziora@redhat.com>2014-01-08 03:28:09 -0500
commitcdaaa88a4c9b516080555aa8b9f9df65ad0b5b90 (patch)
tree8433570d0f174fb1efe0f351b70c5fc59a6e7503
parent2af64d9996f64ba91cd7c9154840245868f8656a (diff)
downloadCGI-sessions-cdaaa88a4c9b516080555aa8b9f9df65ad0b5b90.tar.gz
CGI-sessions-cdaaa88a4c9b516080555aa8b9f9df65ad0b5b90.tar.xz
CGI-sessions-cdaaa88a4c9b516080555aa8b9f9df65ad0b5b90.zip
For REMOTE_USER, process other attributes as well, provided by mod_lookup_identity.additional-attributes
-rwxr-xr-xapp.cgi8
-rw-r--r--lookup_identity.conf10
2 files changed, 18 insertions, 0 deletions
diff --git a/app.cgi b/app.cgi
index d97ed8e..badc13a 100755
--- a/app.cgi
+++ b/app.cgi
@@ -62,6 +62,14 @@ sub login {
my $error = '';
if (defined $ENV{REMOTE_USER}) {
$login = $ENV{REMOTE_USER};
+ if (defined $ENV{REMOTE_USER_EMAIL}) {
+ $login .= ": $ENV{REMOTE_USER_EMAIL}";
+ }
+ my $n = join ' ', grep defined $_, map $ENV{$_},
+ 'REMOTE_USER_FIRSTNAME', 'REMOTE_USER_LASTNAME';
+ if ($n ne '') {
+ $login = "$n ($login)";
+ }
} elsif (defined $login) {
my $re = qr/^[-a-zA-Z0-9_.]+$/;
if ($login eq '' or not $login =~ $re) {
diff --git a/lookup_identity.conf b/lookup_identity.conf
new file mode 100644
index 0000000..8022d07
--- /dev/null
+++ b/lookup_identity.conf
@@ -0,0 +1,10 @@
+
+LoadModule lookup_identity_module modules/mod_lookup_identity.so
+
+<LocationMatch ^/application/login>
+LookupUserAttr mail REMOTE_USER_EMAIL " "
+LookupUserAttr givenname REMOTE_USER_FIRSTNAME
+LookupUserAttr sn REMOTE_USER_LASTNAME
+LookupUserGroups REMOTE_USER_GROUPS ":"
+</LocationMatch>
+