JSPWiki authentication support for TextOutputCallback (display login messages 
on Login.jsp)
-------------------------------------------------------------------------------------------

                 Key: JSPWIKI-464
                 URL: https://issues.apache.org/jira/browse/JSPWIKI-464
             Project: JSPWiki
          Issue Type: Improvement
          Components: Authentication&Authorization
    Affects Versions: 3.0
         Environment: JSPWiki 3.0
            Reporter: Harry Metske
            Assignee: Harry Metske
            Priority: Minor
         Attachments: jspwiki-login-3.0.patch

The current version of the JSPWiki JAAS implementation does not support 
TextOutputCallback's.
JAAS offers several types of Callbacks, JSPWiki's CallbackHandler currently 
only uses the NameCallback and PasswordCallback.
As a result the following scenario:
Users try to login, the login fails but the user is not told for what reason.

I have had lots of complaints about this behavior, especially from users who do 
not login very often but use the wiki mostly for reading.
When they try to login, it fails, but the Login.jsp does not tell anything at 
all, not even that is has failed (C.M.A.). 
In most cases because either the userid has become inactive, is revoked, or the 
password is expired. The net effect is that the wiki is often not usable for 
updates.

Now I know that giving this information (the failure reason) to the user is 
often considered a security trade off.
But in an intranet environment this is very acceptable.

I will attach a patch that solves this in the following way :

- AuthenticationManager keeps a Hashtable of last loginMessages for each user.
- The WikiCallbackHandler now also handles TextOutputCallbacks and sets the 
login result
- If the login fails, the LoginActionBean first reads the loginMessage for the 
user, if it is not null, it is displayed, else you get the old behavior.

The exploitation of TextOutputCallbacks is optional, the default LoginModule 
(supplied with JSPWiki) does not use them, and therefore it's behavior is 
unchanged. 
The installer has to supply a LoginModule that uses the TextOutputCallback to 
store the loginResult.  (And off course we have one that uses it).

(Andrew), can we take this patch in the trunk ?

regards,
Harry


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to