Hi, i found the cause of the error. What is the difference between the following two lines: Line 1: xwiki .authentication .authclass = com .kontrast.vodafone.portal.xwiki.plugins.auth.PortalAuthenticationPlugin Line 2: xwiki .authentication .authclass = com .kontrast.vodafone.portal.xwiki.plugins.auth.PortalAuthenticationPlugin If you can guess it, you'll get a cookie. The difference is a BLANK at the end. When the class name is resolved, there is no trimming. Thus a blank at the end borks up the process. Pretty annoying, huh? Maybe there should be trimming in places like that? I got the plugin up and running now. Thanks for all the assistance! J.L.Simon On 10.12.2008, at 16:42, Juergen Lorenz Simon wrote:
Hi,
On 10.12.2008, at 16:00, Sergiu Dumitriu wrote:
Juergen Lorenz Simon wrote:
Hi,
On 10.12.2008, at 15:13, Sergiu Dumitriu wrote:
How exactly did you write the authentication class? It should not be a plugin (implementing XWikiPlugin), but an authenticator, implementing the XWikiAuthService interface.
I don't think that's the problem. True, the class name suggests plugin and maybe I need to fix that. But the issue is not related to the name of class surely? Just in case i simply paste the declaration here:
public class PortalAuthenticationPlugin extends XWikiAuthServiceImpl {
/** * Authenticates the user * @param context * @return authenticated XWiki user * @throws com.xpn.xwiki.XWikiException */ @SuppressWarnings("unchecked") @Override public XWikiUser checkAuth(XWikiContext context) throws XWikiException { ... stuff ... }
}
Yes, this is OK. Are you sure you put the right package name? A ClassNotFound exception usually doesn't depend on the code inside the class. Please check for extra or missing letters in the configuration file.
Yes, checked and double checked. Spelling A-OK. I'm in the process of trying out the latest release (1.7). I let you know what I find.
To make sure its not a problem with both my plugins in the same jarfile, I created one project per jarfile. Both compile fine, install fine and i can see them in the deploy conduit in WEB-INF/lib. Both jar files contain the classes. One is found by the class loader, the other is not.
Juergen Lorenz Simon wrote:
Hi Thomas,
thanks for the reply. I have two plugins in the jarfile in question. I double-checked the problem by setting up on scratch on a new machine. Everything looks fine, one plugin from the same jar file is found and works as it should. The authentication plugin is not found:
- Initializing AuthService... - Failed to initialize AuthService com.kontrast.vodafone.portal.xwiki.PortalAuthenticationPlugin using Reflection, trying default implementations using 'new'. java.lang.ClassNotFoundException: com.kontrast.vodafone.portal.xwiki.PortalAuthenticationPlugin at org .apache .catalina .loader.WebappClassLoader.loadClass(WebappClassLoader.java: 1360) at org .apache .catalina .loader.WebappClassLoader.loadClass(WebappClassLoader.java: 1206) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:164) at com.xpn.xwiki.XWiki.getAuthService(XWiki.java:4630)
I'm a bit confounded now. Any more ideas? Could it be some problem with classpath ordering?
Cheers, J.L.Simon
On 10.12.2008, at 12:38, Thomas Mortagne wrote:
Hi,
All seems ok to me. You don't need more that pointing the right class in xwiki.cfg...
Are you really sure that the jar contains the class and is in the published /lib folder ? I don't see anything else yet.
On Tue, Dec 9, 2008 at 3:36 PM, Juergen Lorenz Simon <[email protected] > wrote: > Hi, > > i've been writing a custom authentication plugin for xwiki. The > implementation was > pretty straightforward, however I'm having trouble deploying the > plugin. I bundled > it with other plugins for the same purpose in a jar file. > > The jar file is deployed to my local repository. It's pulled in > when I > build the > xe-debug-web in Eclipse and it's present in the xe-debug-web/ > WEB- > INF/ > lib directory > of the deployed app (in .metadata/.plugins/ > org.eclipse.wst.server.core/ > tmp0 ...). > > I altered the xwiki.cfg, adding the following line: > > xwiki > .authentication > .authclass > =com.kontrast.vodafone.portal.xwiki.PortalAuthenticationPlugin > > However, when starting the application, I get the following > problem: >
-- Sergiu Dumitriu http://purl.org/net/sergiu/ _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs