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 <simon(a)webtecc.com
>>>> 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
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs