@@ -5,25 +5,15 @@ This plugin enables an optional HTTP authentication method in the Redmine
5
5
project management tool.
6
6
7
7
If the REMOTE_USER server environment variable is set, an attempt is
8
- made to look up the matching local user account and log in. If the user
9
- was logged in using HTTP authentication, and the REMOTE_USER gets unset
10
- (ie. the user was logged out by the container), the user will be logged
11
- out from their Redmine session, too.
8
+ made to look up the matching local user account and log in. An attempt is made
9
+ to synchronize redmine session with the container managed authentication session,
10
+ but this can be switched off.
12
11
13
12
This module does not disable the form-based login unless HTTP authentication
14
13
credentials are available, in which case the username from the environment
15
14
will override the form-based login.
16
15
17
16
18
- Important notes
19
- =======
20
-
21
- Please note that your users must have their local Redmine account in order
22
- to log in, and their login name / email address must match the credentials from
23
- the container authentication, since this plugin does not (yet) handle automatic
24
- registration.
25
-
26
-
27
17
Installation
28
18
=======
29
19
@@ -42,6 +32,8 @@ plugins menu. Currently there are three options:
42
32
- set the header / environment value to look for (default: REMOTE_USER)
43
33
- change local user lookup mode from login name to email address
44
34
(default: login name)
35
+ - enable / disable automatic registration (default: disable), see below
36
+ - enable / disable the "keep session" behavior (default: disable), see below
45
37
46
38
47
39
Known issues
@@ -52,10 +44,55 @@ exception with any Redmine version prior to Redmine-0.9, just rename your
52
44
app/controllers/application.rb to app/controllers/application_controller.rb.
53
45
54
46
47
+ Automatic registration of user accounts
48
+ =======
49
+
50
+ If a user doesn't exist in the redmine local database, the http_authentication
51
+ plugin can automatically create an account for them. This automatic registration
52
+ currently presents a form to the user where additional attributes (like email
53
+ address, first name or last name) should be entered.
54
+
55
+ The plugin currently doesn't handle automatic attribute transformation from the
56
+ authentication environment (eg. Shibboleth session), but it does enforce the
57
+ lookup attribute matching with the environment.
58
+
59
+ Automatically registered accounts don't have associated passwords, but the
60
+ user can change their password via the common password change form.
61
+
62
+
63
+ Session synchronization
64
+ =======
65
+
66
+ When using container managed authentication (like SSO systems), one needs to
67
+ ensure, that the currently logged-on user is the same which initiated the session.
68
+ Additionally, there is a need to offer logout functionality to the end user.
69
+
70
+ By default, the http_authentication plugin synchronizes the container managed
71
+ authentication session to the redmine session. This means that if the underlying
72
+ session changes or ends, the redmine session changes and ends as well.
73
+
74
+
75
+ Using lazy authentication
76
+ =======
77
+
78
+ The http_authentication plugin provides a top menu link for lazy, user-requested
79
+ authentication purposes. This link points to the `/httpauth-login` URL. If you
80
+ want to enable both http_authentication and normal form-based logins, you need
81
+ to use this link to enforce container authentication.
82
+
83
+ However, many authentication mechanisms (namely apache httpd mod_auth_basic)
84
+ don't offer a way to do lazy authentication. If an URL is not "enforced", the
85
+ authorization information (eg. REMOTE_USER) is not populated. Thus, the session
86
+ synchronization code will invalidate user sessions outside the protected realm.
87
+
88
+ You can alter this behavior by switching on the "keep sessions" setting. But
89
+ please consider that this might be dangerous. Do not use this feature if you
90
+ are implementing SSO systems, you've been warned.
91
+
92
+
55
93
Planned features
56
94
=======
57
95
58
- - automatic registration of accounts
59
96
- option to disable form-based login for users when the plugin is activated
60
97
- integration with the custom features of various SSO systems (eg. Shibboleth)
61
98
0 commit comments