Skip to content

Commit 6f97c48

Browse files
committed
Updated readme.
1 parent da6e408 commit 6f97c48

File tree

1 file changed

+51
-14
lines changed

1 file changed

+51
-14
lines changed

README

+51-14
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,15 @@ This plugin enables an optional HTTP authentication method in the Redmine
55
project management tool.
66

77
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.
1211

1312
This module does not disable the form-based login unless HTTP authentication
1413
credentials are available, in which case the username from the environment
1514
will override the form-based login.
1615

1716

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-
2717
Installation
2818
=======
2919

@@ -42,6 +32,8 @@ plugins menu. Currently there are three options:
4232
- set the header / environment value to look for (default: REMOTE_USER)
4333
- change local user lookup mode from login name to email address
4434
(default: login name)
35+
- enable / disable automatic registration (default: disable), see below
36+
- enable / disable the "keep session" behavior (default: disable), see below
4537

4638

4739
Known issues
@@ -52,10 +44,55 @@ exception with any Redmine version prior to Redmine-0.9, just rename your
5244
app/controllers/application.rb to app/controllers/application_controller.rb.
5345

5446

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+
5593
Planned features
5694
=======
5795

58-
- automatic registration of accounts
5996
- option to disable form-based login for users when the plugin is activated
6097
- integration with the custom features of various SSO systems (eg. Shibboleth)
6198

0 commit comments

Comments
 (0)