[ 
https://issues.apache.org/jira/browse/JSPWIKI-464?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12660224#action_12660224
 ] 

Harry Metske commented on JSPWIKI-464:
--------------------------------------

The following code snippet from the JasperLoader 
(http://www.docjar.com/html/api/org/apache/jasper/servlet/JasperLoader.java.html)
  explains this.
The JSP_PACKAGE_NAME does not contain a trailing dot, so org.apache.jsp is the 
same as org.apache.jspwiki. The parent classloader off course canot find the 
class :-(


        if( !name.startsWith(Constants.JSP_PACKAGE_NAME) ) {
            // Class is not in org.apache.jsp, therefore, have our
            // parent load it
            clazz = parent.loadClass(name);            
            if( resolve )
                resolveClass(clazz);
            return clazz;
        }

        return findClass(name);
    }


We could ask the tomcat developers to change this, but still then it would take 
a long time before this is out in the field, what do we do ?


> 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