Apache-AppSamurai
view release on metacpan or search on metacpan
* Share! (optional... but please share)
OWA Proxy Example
-----------------
Q: Why do I get "Access Denied" instead of the login page when I first connect?
A: Make sure your rewrite rules are used inside a VirtualHost section. If you would rather leave them global, add the following lines to your SSL VirtualHost section:
RewriteEngine on
RewriteOptions inherit
Q: Under Apache 2, in error_log or ssl_error_log, why do I see errors like: "SSL Proxy requested for FQDN:443 but not enabled [Hint: SSLProxyEngine]"
A: Put the following line into your SSL VirtualHost section(s):
SSLProxyEngine on
Q: Why do you have near-duplicate proxy directory sections, with the only difference being <Directory proxy:*> vs. <Proxy *> ?
A: IfDefine can not be used to just wrap the Directory or Proxy tag. This breakage appears to be completely undocumented, and yes, there is a dent in the wall by my desk that I blame directly for it.
$Id: FAQ,v 1.2 2008/05/03 06:43:22 pauldoom Exp $
lib/Apache/AppSamurai.pm view on Meta::CPAN
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
lib/Apache/AppSamurai/AuthBasic.pm view on Meta::CPAN
module.
=head2 I<AllowRedirect> C<0|1>
(Default: 0)
If set to 1, allows the auth server to replay with a C<302 Redirect> code,
following the redirect to its eventual destination.
B<This feature should almost never be used!> Instead, try to find the
eventual URL destination the auth server is expecting. If you connect to
the auth server's port, (using C<openssl s_client -connect "SERVERNAME:PORT">
for SSL, or just C<telnet SERVERNAME PORT>), and request the page, it should
return a 401 code.
(The skill of being a human web browser is a useful one
to have for web work.
L<http://www.esqsoft.com/examples/troubleshooting-http-using-telnet.htm> gives
a very quick look at how to do it. After that, check out
L<http://en.wikipedia.org/wiki/HTTP> or the HTTP RFCs for more info.)
=head2 I<SuccessCode> C<CODE>
lib/Apache/AppSamurai/Util.pm view on Meta::CPAN
@ISA = qw(Exporter);
@EXPORT_OK = qw(expires CreateSessionAuthKey CheckSidFormat
HashPass HashAny ComputeSessionId CheckUrlFormat CheckHostName
CheckHostIP XHalf);
# $IDLEN defines the byte length for all IDs (Session IDs, Keys, etc).
# This should be the byte length of the main digest function used.
# (Provided in case something other than SHA256 is used.)
$IDLEN = 32;
# -- expires() shamelessly taken from CGI::Util
## -- And this expires shamelessly taken from Apache::AuthCookie::Util ;)
sub expires {
my($time,$format) = @_;
$format ||= 'http';
my(@MON) = qw/Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec/;
my(@WDAY) = qw/Sun Mon Tue Wed Thu Fri Sat/;
# pass through preformatted dates for the sake of expire_calc()
$time = _expire_calc($time);
return $time unless $time =~ /^\d+$/;
lib/Apache/AppSamurai/Util.pm view on Meta::CPAN
# make HTTP/cookie date string from GMT'ed time
# (cookies use '-' as date separator, HTTP uses ' ')
my($sc) = ' ';
$sc = '-' if $format eq "cookie";
my($sec,$min,$hour,$mday,$mon,$year,$wday) = gmtime($time);
$year += 1900;
return sprintf("%s, %02d$sc%s$sc%04d %02d:%02d:%02d GMT",
$WDAY[$wday],$mday,$MON[$mon],$year,$hour,$min,$sec);
}
# -- expire_calc() shamelessly taken from CGI::Util
# This internal routine creates an expires time exactly some number of
# hours from the current time. It incorporates modifications from
# Mark Fisher.
sub _expire_calc {
my($time) = @_;
my(%mult) = ('s'=>1,
'm'=>60,
'h'=>60*60,
'd'=>60*60*24,
'M'=>60*60*24*30,
( run in 1.876 second using v1.01-cache-2.11-cpan-acf6aa7dc9e )