Apache-AppSamurai
view release on metacpan or search on metacpan
lib/Apache/AppSamurai.pm view on Meta::CPAN
</Directory>
#*FOR MODPERL2 USE:
#</Proxy>
# Protected/proxied resource config 2: Basic auth
<Directory "proxy:https://ex.amp.le/thaang/*">
#*FOR MODPERL2 USE:
#<Proxy "https://ex.amp.le/thaang/*">
AuthType Basic
AuthName "Example"
PerlAuthenHandler Apache::AppSamurai->authenticate
PerlAuthzHandler Apache::AppSamurai->authorize
# Add some local overrides to this directory. (Has
# no affect on other directories/locations)
# Switch from an inactivity timeout to a hard expiration
PerlSetVar ExampleSessionExpire 3600
PerlSetVar ExampleSessionTimeout 0
# In lieu of cookies, calculate the session key using the
# basic auth header from the client, and an argument called
# "Sessionthing" from the request URL. (NOTE - Keysource
# should be used with care! Do not use it unless you are
# sure of what you are doing!!!)
PerlAddVar ExampleKeysource header:Authorization
PerlAddVar ExampleKeysource arg:Sessionthing
Order deny,allow
Allow from all
require valid-user
</Directory>
#*FOR MODPERL2 USE:
#</Proxy>
# Do not allow forward proxying
ProxyRequests Off
# Proxy requests for /thing/* to https://ex.amp.le/thing/*
RewriteRule ^/thing/(.*)$ https://ex.amp.le/thing/$1 [P]
# Similar for /thaang/*
RewriteRule ^/thaang/(.*)$ https://ex.amp.le/thaang/$1 [P]
# Redirect requests to / into our default app
RewriteRule ^/?$ /thing/ [R,L]
# Allow in AppSamurai requests to proxy server
RewriteRule ^/AppSamurai -
# Capture logout URL from app and send to a pseudo page mapped to logout()
RewriteRule ^/thing/logout\.asp$ /AppSamurai/LOGOUT
# Block all other requests
RewriteRule .* - [F]
#*FOR MODPERL2 YOU MUST UNCOMMENT AND PUT THE FOLLOWING INSIDE
# RELEVANT VirtualHost SECTIONS (For most Apache2 setups, this would be
# the "<VirtualHost _default_:443>" section inside ssl.conf)
#
## Enable rewrite engine inside virtualhost
#RewriteEngine on
## Inherit rewrite settings from parent (global)
#RewriteOptions inherit
## Enable proxy connections to SSL
#SSLProxyEngine on
=head1 EXTENDING
Additional authentication modules, tracking features, and other options
can be added to Apache::AppSamurai. In the case of authentication modules,
all that is required is creating a new module that inherits from
L<Apache::AppSamurai::AuthBase|Apache::AppSamurai::AuthBase>.
Other features may be more difficult to add. (Apache::AppSamurai could
use some refactoring.)
Interface and utility methods are not documented at this time. Please
consult the code, and also the L<Apache::AuthCookie|Apache::AuthCookie>
documentation.
=head1 FILES
=over 4
=item F<APPSAMURAI_CONTENT/>
Directory that holds Apache::AppSamurai login/logout pages and related
content. This must be served by Apache and reachable. (This is
generally mapped to B</AppSamurai/> on the server.) When starting from
scratch, copy the contents of F</examples/htdocs/> from the Apache-AppSamurai
distribution into this directory.
=item F<APPSAMURAI_CONTENT/login.pl>
The default login mod_perl script. Must be modified to match your setup.
=item F<APPSAMURAI_CONTENT/login.html>
The default HTML login form template. (Split out from login.pl to ease
customization.)
=item F<APPSAMURAI_CONTENT/robots.txt>
Generic "deny all" robots file. (You don't want your login area appearing
on Google. Note that the default login page also has a META tag to prevent
indexing.)
=item F<APPSAMURAI_CONTENT/images/>
Image files for login page.
=back
=head1 SEE ALSO
( run in 0.813 second using v1.01-cache-2.11-cpan-39bf76dae61 )