2 Catalyst::Plugin::RequireSSL - Force SSL mode on select pages
7 MyApp->setup( qw/RequireSSL/ );
9 MyApp->config->{require_ssl} = {
10 https => 'secure.mydomain.com',
11 http => 'www.mydomain.com',
14 detach_on_redirect => 1,
17 # in any controller methods that should be secured
21 Use this plugin if you wish to selectively force SSL mode on some of
22 your web pages, for example a user login form or shopping cart.
24 Simply place $c->require_ssl calls in any controller method you wish to
27 This plugin will automatically disable itself if you are running under
28 the standalone HTTP::Daemon Catalyst server. A warning message will be
29 printed to the log file whenever an SSL redirect would have occurred.
32 If you utilize different servers or hostnames for non-SSL and SSL
33 requests, and you rely on a session cookie to determine redirection (i.e
34 for a login page), your cookie must be visible to both servers. For more
35 information, see the documentation for the Session plugin you are using.
38 Configuration is optional. You may define the following configuration
43 If your SSL domain name is different from your non-SSL domain, set this
48 If you have set the https value above, you must also set the hostname of
53 If you'd like your users to remain in SSL mode after visiting an
54 SSL-required page, you can set this option to 1. By default, this option
55 is disabled and users will be redirected back to non-SSL mode as soon as
60 If you have a wildcard certificate you will need to set this option if
61 you are using multiple domains on one instance of Catalyst.
65 By default "$c->require_ssl" only calls "$c->response->redirect" but
66 does not stop request processing (so it returns and subsequent
67 statements are run). This is probably not what you want. If you set this
68 option to a true value "$c->require_ssl" will call "$c->detach" when it
73 Call require_ssl in any controller method you wish to be secured.
77 The browser will be redirected to the same path on your SSL server. POST
78 requests are never redirected.
81 Call allow_ssl in any controller method you wish to access both in SSL
86 The browser will not be redirected, independently of whether the request
87 was made to the SSL or non-SSL server.
90 Disables this plugin if running under an engine which does not support
94 Performs the redirect to SSL url if required.
97 When viewing an SSL-required page that uses static files served from the
98 Static plugin, the static files are redirected to the non-SSL path.
100 In order to get the correct behaviour where static files are not
101 redirected, you should use the Static::Simple plugin or always serve
102 static files directly from your web server.
105 Catalyst, Catalyst::Plugin::Static::Simple
108 Andy Grundman, <andy@hybridized.org>
111 Simon Elliott <simon@browsing.co.uk> (support for wildcards)
114 This program is free software, you can redistribute it and/or modify it
115 under the same terms as Perl itself.