[ 
https://issues.apache.org/jira/browse/JSPWIKI-464?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Harry Metske updated JSPWIKI-464:
---------------------------------

    Attachment: JSPWIKI-464.patch

Well, that is indeed a better approach, thanks :-)
Attached a new patch.

AuthenticationManager has several calls to doJAASLogin(), they don't handle the 
WikiSecurityException, so I now only throw this exception if the LoginModule is 
not an instance of AbstractLoginModule.

I also included an update to the CoreResources.properties :

login.error=Login failed: {2}

If I understand the Stripes docs well, the {2} should be replaced with the 
exception text.

I have tested only on 2.8.2 (required some extra patching on Login.jsp).
I can't test the ActionBean on 3.0, because I'm still stuck with 
http://mail-archives.apache.org/mod_mbox/incubator-jspwiki-dev/200812.mbox/%[email protected]%3e

Let me know what you think.

regards,
Harry

> 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-464.patch, 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