You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jspwiki.apache.org by dexterz <sa...@techlogix.com> on 2008/02/01 13:09:39 UTC

Re: Embedding JSPWiki 2.6 [into a spring web app]

I am trying to embed JSPWiki into my spring web app. What I want to achieve
is to be able to do something similar to EmForge. At the moment I am just
doing a simple integration.
I started following EmForge strategy as is. I...
1) Included all the relevant libs for JSPWiki in my web app's lib folder.
2) Defined a bean in spring application context xml . 
3) Added relevant java implementation files for the engine and page
providers.
4) Put jspwiki.properties file in my web app's WEB-INF folder.

When I try to bring my web app up with Tomcat I get the following error
=========================================
Starting up background thread: JSPWiki Lucene Indexer.
Starting up background thread: WatchDog for 'EmForge'.
ERROR - AuthenticationManager.initialize(158) | Could not configure JAAS:
URL for JAAS configuration cannot be null.
FATAL - AuthorizationManager.initialize(424) | JSPWiki was unable to
initialize the default security policy (WEB-INF/jspwiki.policy) file. Please
ensure that the jspwiki.policy file exists in the default location. This
file should exist regardless of the existance of a global policy file. The
global policy file is identified by the java.security.policy variable. 
com.ecyrd.jspwiki.auth.WikiSecurityException: JSPWiki was unable to
initialize the default security policy (WEB-INF/jspwiki.policy) file. Please
ensure that the jspwiki.policy file exists in the default location. This
file should exist regardless of the existance of a global policy file. The
global policy file is identified by the java.security.policy variable. 
	at
com.ecyrd.jspwiki.auth.AuthorizationManager.initialize(AuthorizationManager.java:423)
==============================================

It does not matter whether I put jspwiki.policy file in the WEB-INF
directory or not. I still get the same error. In my properties file the
following properties are commented out.

#java.security.auth.login.config=jspwiki.jass
#java.security.policy=jspwiki.policy

Any idea what I need to do to get it going?


Janne Jalkanen wrote:
> 
> 
> Yup.  You can
> 
> a) either set "jspwiki.security=off" (turning off the entire security)
> b) replace AuthorizationManager with your own implementation by setting
> 
>    <mapping>
>      <requestedClass>com.ecyrd.jspwiki.auth.AuthorizationManager</ 
> requestedClass>
>      <mappedClass>com.mycompany.mypackage.MyAuthorizationManager</ 
> mappedClass>
>    </mapping>
> 
> in your ini/classmappings.xml.
> 
> The latter is a largely undocumented feature, which was introduced in  
> 2.6.  It can be used to break JSPWiki very efficiently :-)
> 
> the ini/classmappings.xml can be anywhere in your classpath, just as  
> long as it is before JSPWiki.jar (which ships with the default  
> implementation).  Check out the built-in classmappings.xml for more  
> information.
> 
> Note that MyAuthorizationManager needs to either extend (if the  
> original file is a class) or implement (if the original is an  
> interface).  There are no real checks as to the integrity of the class.
> 
> I have some ideas on how to make this integration process easier, but  
> haven't gotten around to experimenting with them yet.
> 
> /Janne
> 
> On Jan 4, 2008, at 08:21 , Ethan Larson wrote:
> 
>> Ok, I created a dummy page provider and a dummy authorizer and I  
>> got a lot farther. I don't even need a MemoryPageProvider since I  
>> all I need is the output (thanks just the same Florian - it was  
>> instructive).  I actually got translated output.  The problem is  
>> that I had to modify the source code to do it.  I had to comment  
>> out line 532 of WikiEngine:
>>
>> //m_authorizationManager.initialize( this, props );
>>
>> As near as I can tell, there's no way to create an authorization  
>> manager that doesn't involve a jspwiki.policy under WEB-INF.   
>> However, since I'm running it as a standalone app, I don't have a  
>> web container and therefore no WEB-INF.  I could create this under  
>> the working directory, but I really don't want to put blank, unused  
>> metadata in my app.  Is there any way to configure this such that I  
>> can start the authorization manager without a jspwiki.policy?
>>
>> On a broader note, I'd be over the moon if this were an easier  
>> process.  JSPWiki seems to be the most actively developed and  
>> feature-rich Java wiki there is, and has support for plugins and  
>> filters which I will eventually need.  If there were an easy way to  
>> run the wiki translation, complete with plugins and filters, that  
>> didn't involve a web container and any extra memory/disk usage, it  
>> could broaden the usage quite a bit.  I've looked at other java  
>> wiki translators out there, and none of them are doing a good job  
>> of the features/active development/ease of standalone combo  
>> (Radeox, Bliki, VQWiki to name a few).  Other forum/mailing list  
>> posts confirm there is a demand.
>>
>> Thanks for all your help,
>> Ethan
>>
>> P.S. -- Here's my current code for anyone reading this in the future:
>>
>> Properties props = new Properties();
>> props.setProperty(PageManager.PROP_PAGEPROVIDER,  
>> MyPageProvider.class.getName());
>> props.setProperty(AuthorizationManager.PROP_AUTHORIZER,  
>> MyAuthorizer.class.getName());
>>
>> WikiEngine engine = new WikiEngine(props);
>>
>> WikiContext context = new WikiContext(engine, new WikiPage(engine,  
>> "test"));
>>
>> System.out.println("output: \n" + engine.textToHTML(context, "this  
>> is a test\n\n* more stuff"));
>>
>>
>> MyPageProvider and MyAuthorizer are both empty implentations of the  
>> interfaces.  Just return an empty List for MyPageProvider.getAllPages.
>>
>>
>> Janne Jalkanen wrote:
>>>
>>> Yup, the problem is that there needs to be *some* kind of a page  
>>> provider, because the system needs to check if e.g. a page exists  
>>> or not when it encounters a link.  The generated HTML differs in  
>>> each case.
>>>
>>> A dummy provider will do just fine, e.g. the MemoryPageProvider.
>>>
>>> /Janne
>>>
>>> On Jan 2, 2008, at 00:23 , Florian Holeczek wrote:
>>>
>>>> Hi Ethan,
>>>>
>>>> maybe this can help you:
>>>> http://www.jspwiki.org/wiki/MemoryPageProvider
>>>>
>>>> Regards,
>>>>  Florian
>>>>
>>>>> The problem with the page directory is that I don't want one. I  
>>>>> will
>>>>> be managing the input/output of the text myself. I really just want
>>>>> to give some wiki markup to the parser and get back html. Is there
>>>>> currently a way to do this?
>>>>
>>>
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Embedding-JSPWiki-2.6-tp14553249p15225248.html
Sent from the JspWiki - User mailing list archive at Nabble.com.


Re: Embedding JSPWiki 2.6 [into a spring web app]

Posted by dexterz <de...@hotmail.com>.
I finally resolved this issue.
Just in case if somebody else runs into the same issue, I had to simply
change the encoding of web.xml file to "ISO-8859-1". It was earlier UTF-8.



dexterz wrote:
> 
> I had earlier used a similar stub but I was getting the error that I
> resolved by commenting out jspwiki.security and jspwiki.authorizer
> property.
> 
> So any idea at what location web.xml is expected by JspWiki when
> integrated with spring?
> 
> 
> Alexey Kakunin-3 wrote:
>> 
>> You can check
>> http://www.emforge.org/fileviewer/EmForge/trunk/EmForge/src/main/java/ru/emdev/EmForge/wiki/security/AuthorizerImpl.java
>> 
>> It is our own implementation (actually simple stub) for JspWiki
>> Authorizer.
>> Since anyway you will need to interate your authorization based on Acegi
>> -
>> it seems you will need to use it as start point and then
>> implement all methods with using Acegi.
>> 
>> To use this authorizer we used followed properties in wikiEngine bean:
>> 
>>                 <prop key="jspwiki.security">jaas</prop>
>>                 <prop key="jspwiki.authorizer">
>> ru.emdev.EmForge.wiki.security.AuthorizerImpl</prop>
>> 
>> 
>> I do not remember why - but we also met same problem with looking for
>> WEB-INF/web.xml in standard JspWiki authorizer... it seems because
>> JspWiki
>> is not created in it's native way (with initializing with
>> jspwiki.properties)
>> - but from Spring
>> 
>> 2008/2/1, dexterz <de...@hotmail.com>:
>>>
>>>
>>> Thanks for the response.
>>> Indeed I had to comment out some security related properties to get rid
>>> of
>>> eariler error.
>>> Now I am getting
>>> =======================
>>> ERROR - AuthenticationManager.initialize(158) | Could not configure
>>> JAAS:
>>> URL for JAAS configuration cannot be null.
>>> ERROR - WebContainerAuthorizer.initialize(119) | Initialization failed:
>>> java.io.IOException: Unable to find web.xml for processing.
>>>         at
>>> com.ecyrd.jspwiki.auth.authorize.WebContainerAuthorizer.getWebXml(
>>> WebContainerAuthorizer.java:386)
>>> =======================
>>>
>>> I think the first couple of errors are ok. However, I am a bit confused
>>> about the web.xml error. There is already a web.xml file present for my
>>> spring web app!
>>>
>>>
>>> Alexey Kakunin-3 wrote:
>>> >
>>> > Hello, Dexter
>>> >
>>> > 2008/2/1, dexterz <sa...@techlogix.com>:
>>> >>
>>> >>
>>> >> I am trying to embed JSPWiki into my spring web app. What I want to
>>> >> achieve
>>> >> is to be able to do something similar to EmForge. At the moment I am
>>> just
>>> >> doing a simple integration.
>>> >> I started following EmForge strategy as is. I...
>>> >> 1) Included all the relevant libs for JSPWiki in my web app's lib
>>> folder.
>>> >> 2) Defined a bean in spring application context xml .
>>> >
>>> >
>>> > If you are creating JspWiki engine via Factory bean - you should take
>>> into
>>> > account that jspwiki.properties are not used at all - WikiEngine is
>>> > initialzed with properties set, specified in the bean.
>>> >
>>> > So, you need to specify correct values for security configuration bean
>>> > properties.
>>> >
>>> > But - be sure there WikiEngine is initialized (just put breakpoint
>>> into
>>> > WikiEngine intialization function to see how it is called).
>>> >
>>> >
>>> > 3) Added relevant java implementation files for the engine and page
>>> >> providers.
>>> >> 4) Put jspwiki.properties file in my web app's WEB-INF folder.
>>> >>
>>> >> When I try to bring my web app up with Tomcat I get the following
>>> error
>>> >> =========================================
>>> >> Starting up background thread: JSPWiki Lucene Indexer.
>>> >> Starting up background thread: WatchDog for 'EmForge'.
>>> >> ERROR - AuthenticationManager.initialize(158) | Could not configure
>>> JAAS:
>>> >> URL for JAAS configuration cannot be null.
>>> >> FATAL - AuthorizationManager.initialize(424) | JSPWiki was unable to
>>> >> initialize the default security policy (WEB-INF/jspwiki.policy) file.
>>> >> Please
>>> >> ensure that the jspwiki.policy file exists in the default location.
>>> This
>>> >> file should exist regardless of the existance of a global policy
>>> file.
>>> >> The
>>> >> global policy file is identified by the java.security.policy
>>> variable.
>>> >> com.ecyrd.jspwiki.auth.WikiSecurityException: JSPWiki was unable to
>>> >> initialize the default security policy (WEB-INF/jspwiki.policy) file.
>>> >> Please
>>> >> ensure that the jspwiki.policy file exists in the default location.
>>> This
>>> >> file should exist regardless of the existance of a global policy
>>> file.
>>> >> The
>>> >> global policy file is identified by the java.security.policy
>>> variable.
>>> >>         at
>>> >> com.ecyrd.jspwiki.auth.AuthorizationManager.initialize(
>>> >> AuthorizationManager.java:423)
>>> >> ==============================================
>>> >>
>>> >> It does not matter whether I put jspwiki.policy file in the WEB-INF
>>> >> directory or not. I still get the same error. In my properties file
>>> the
>>> >> following properties are commented out.
>>> >>
>>> >> #java.security.auth.login.config=jspwiki.jass
>>> >> #java.security.policy=jspwiki.policy
>>> >>
>>> >> Any idea what I need to do to get it going?
>>> >>
>>> >>
>>> >> Janne Jalkanen wrote:
>>> >> >
>>> >> >
>>> >> > Yup.  You can
>>> >> >
>>> >> > a) either set "jspwiki.security=off" (turning off the entire
>>> security)
>>> >> > b) replace AuthorizationManager with your own implementation by
>>> setting
>>> >> >
>>> >> >    <mapping>
>>> >> >      <requestedClass>com.ecyrd.jspwiki.auth.AuthorizationManager</
>>> >> > requestedClass>
>>> >> >      <mappedClass>com.mycompany.mypackage.MyAuthorizationManager</
>>> >> > mappedClass>
>>> >> >    </mapping>
>>> >> >
>>> >> > in your ini/classmappings.xml.
>>> >> >
>>> >> > The latter is a largely undocumented feature, which was introduced
>>> in
>>> >> > 2.6.  It can be used to break JSPWiki very efficiently :-)
>>> >> >
>>> >> > the ini/classmappings.xml can be anywhere in your classpath, just
>>> as
>>> >> > long as it is before JSPWiki.jar (which ships with the default
>>> >> > implementation).  Check out the built-in classmappings.xml for more
>>> >> > information.
>>> >> >
>>> >> > Note that MyAuthorizationManager needs to either extend (if the
>>> >> > original file is a class) or implement (if the original is an
>>> >> > interface).  There are no real checks as to the integrity of the
>>> class.
>>> >> >
>>> >> > I have some ideas on how to make this integration process easier,
>>> but
>>> >> > haven't gotten around to experimenting with them yet.
>>> >> >
>>> >> > /Janne
>>> >> >
>>> >> > On Jan 4, 2008, at 08:21 , Ethan Larson wrote:
>>> >> >
>>> >> >> Ok, I created a dummy page provider and a dummy authorizer and I
>>> >> >> got a lot farther. I don't even need a MemoryPageProvider since I
>>> >> >> all I need is the output (thanks just the same Florian - it was
>>> >> >> instructive).  I actually got translated output.  The problem is
>>> >> >> that I had to modify the source code to do it.  I had to comment
>>> >> >> out line 532 of WikiEngine:
>>> >> >>
>>> >> >> //m_authorizationManager.initialize( this, props );
>>> >> >>
>>> >> >> As near as I can tell, there's no way to create an authorization
>>> >> >> manager that doesn't involve a jspwiki.policy under WEB-INF.
>>> >> >> However, since I'm running it as a standalone app, I don't have a
>>> >> >> web container and therefore no WEB-INF.  I could create this under
>>> >> >> the working directory, but I really don't want to put blank,
>>> unused
>>> >> >> metadata in my app.  Is there any way to configure this such that
>>> I
>>> >> >> can start the authorization manager without a jspwiki.policy?
>>> >> >>
>>> >> >> On a broader note, I'd be over the moon if this were an easier
>>> >> >> process.  JSPWiki seems to be the most actively developed and
>>> >> >> feature-rich Java wiki there is, and has support for plugins and
>>> >> >> filters which I will eventually need.  If there were an easy way
>>> to
>>> >> >> run the wiki translation, complete with plugins and filters, that
>>> >> >> didn't involve a web container and any extra memory/disk usage, it
>>> >> >> could broaden the usage quite a bit.  I've looked at other java
>>> >> >> wiki translators out there, and none of them are doing a good job
>>> >> >> of the features/active development/ease of standalone combo
>>> >> >> (Radeox, Bliki, VQWiki to name a few).  Other forum/mailing list
>>> >> >> posts confirm there is a demand.
>>> >> >>
>>> >> >> Thanks for all your help,
>>> >> >> Ethan
>>> >> >>
>>> >> >> P.S. -- Here's my current code for anyone reading this in the
>>> future:
>>> >> >>
>>> >> >> Properties props = new Properties();
>>> >> >> props.setProperty(PageManager.PROP_PAGEPROVIDER,
>>> >> >> MyPageProvider.class.getName());
>>> >> >> props.setProperty(AuthorizationManager.PROP_AUTHORIZER,
>>> >> >> MyAuthorizer.class.getName());
>>> >> >>
>>> >> >> WikiEngine engine = new WikiEngine(props);
>>> >> >>
>>> >> >> WikiContext context = new WikiContext(engine, new WikiPage(engine,
>>> >> >> "test"));
>>> >> >>
>>> >> >> System.out.println("output: \n" + engine.textToHTML(context, "this
>>> >> >> is a test\n\n* more stuff"));
>>> >> >>
>>> >> >>
>>> >> >> MyPageProvider and MyAuthorizer are both empty implentations of
>>> the
>>> >> >> interfaces.  Just return an empty List for
>>> MyPageProvider.getAllPages.
>>> >> >>
>>> >> >>
>>> >> >> Janne Jalkanen wrote:
>>> >> >>>
>>> >> >>> Yup, the problem is that there needs to be *some* kind of a page
>>> >> >>> provider, because the system needs to check if e.g. a page exists
>>> >> >>> or not when it encounters a link.  The generated HTML differs in
>>> >> >>> each case.
>>> >> >>>
>>> >> >>> A dummy provider will do just fine, e.g. the MemoryPageProvider.
>>> >> >>>
>>> >> >>> /Janne
>>> >> >>>
>>> >> >>> On Jan 2, 2008, at 00:23 , Florian Holeczek wrote:
>>> >> >>>
>>> >> >>>> Hi Ethan,
>>> >> >>>>
>>> >> >>>> maybe this can help you:
>>> >> >>>> http://www.jspwiki.org/wiki/MemoryPageProvider
>>> >> >>>>
>>> >> >>>> Regards,
>>> >> >>>>  Florian
>>> >> >>>>
>>> >> >>>>> The problem with the page directory is that I don't want one. I
>>> >> >>>>> will
>>> >> >>>>> be managing the input/output of the text myself. I really just
>>> want
>>> >> >>>>> to give some wiki markup to the parser and get back html. Is
>>> there
>>> >> >>>>> currently a way to do this?
>>> >> >>>>
>>> >> >>>
>>> >> >
>>> >> >
>>> >> >
>>> >>
>>> >> --
>>> >> View this message in context:
>>> >> http://www.nabble.com/Embedding-JSPWiki-2.6-tp14553249p15225248.html
>>> >> Sent from the JspWiki - User mailing list archive at Nabble.com.
>>> >>
>>> >>
>>> >
>>> >
>>> > --
>>> > With best regards,
>>> > Alexey Kakunin
>>> >
>>> >
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/Embedding-JSPWiki-2.6-tp14553249p15226254.html
>>> Sent from the JspWiki - User mailing list archive at Nabble.com.
>>>
>>>
>> 
>> 
>> -- 
>> With best regards,
>> Alexey Kakunin
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Embedding-JSPWiki-2.6-tp14553249p15262831.html
Sent from the JspWiki - User mailing list archive at Nabble.com.


Re: Embedding JSPWiki 2.6 [into a spring web app]

Posted by dexterz <de...@hotmail.com>.
I had earlier used a similar stub but I was getting the error that I resolved
by commenting out jspwiki.security and jspwiki.authorizer property.

So any idea at what location web.xml is expected by JspWiki when integrated
with spring?


Alexey Kakunin-3 wrote:
> 
> You can check
> http://www.emforge.org/fileviewer/EmForge/trunk/EmForge/src/main/java/ru/emdev/EmForge/wiki/security/AuthorizerImpl.java
> 
> It is our own implementation (actually simple stub) for JspWiki
> Authorizer.
> Since anyway you will need to interate your authorization based on Acegi -
> it seems you will need to use it as start point and then
> implement all methods with using Acegi.
> 
> To use this authorizer we used followed properties in wikiEngine bean:
> 
>                 <prop key="jspwiki.security">jaas</prop>
>                 <prop key="jspwiki.authorizer">
> ru.emdev.EmForge.wiki.security.AuthorizerImpl</prop>
> 
> 
> I do not remember why - but we also met same problem with looking for
> WEB-INF/web.xml in standard JspWiki authorizer... it seems because JspWiki
> is not created in it's native way (with initializing with
> jspwiki.properties)
> - but from Spring
> 
> 2008/2/1, dexterz <de...@hotmail.com>:
>>
>>
>> Thanks for the response.
>> Indeed I had to comment out some security related properties to get rid
>> of
>> eariler error.
>> Now I am getting
>> =======================
>> ERROR - AuthenticationManager.initialize(158) | Could not configure JAAS:
>> URL for JAAS configuration cannot be null.
>> ERROR - WebContainerAuthorizer.initialize(119) | Initialization failed:
>> java.io.IOException: Unable to find web.xml for processing.
>>         at
>> com.ecyrd.jspwiki.auth.authorize.WebContainerAuthorizer.getWebXml(
>> WebContainerAuthorizer.java:386)
>> =======================
>>
>> I think the first couple of errors are ok. However, I am a bit confused
>> about the web.xml error. There is already a web.xml file present for my
>> spring web app!
>>
>>
>> Alexey Kakunin-3 wrote:
>> >
>> > Hello, Dexter
>> >
>> > 2008/2/1, dexterz <sa...@techlogix.com>:
>> >>
>> >>
>> >> I am trying to embed JSPWiki into my spring web app. What I want to
>> >> achieve
>> >> is to be able to do something similar to EmForge. At the moment I am
>> just
>> >> doing a simple integration.
>> >> I started following EmForge strategy as is. I...
>> >> 1) Included all the relevant libs for JSPWiki in my web app's lib
>> folder.
>> >> 2) Defined a bean in spring application context xml .
>> >
>> >
>> > If you are creating JspWiki engine via Factory bean - you should take
>> into
>> > account that jspwiki.properties are not used at all - WikiEngine is
>> > initialzed with properties set, specified in the bean.
>> >
>> > So, you need to specify correct values for security configuration bean
>> > properties.
>> >
>> > But - be sure there WikiEngine is initialized (just put breakpoint into
>> > WikiEngine intialization function to see how it is called).
>> >
>> >
>> > 3) Added relevant java implementation files for the engine and page
>> >> providers.
>> >> 4) Put jspwiki.properties file in my web app's WEB-INF folder.
>> >>
>> >> When I try to bring my web app up with Tomcat I get the following
>> error
>> >> =========================================
>> >> Starting up background thread: JSPWiki Lucene Indexer.
>> >> Starting up background thread: WatchDog for 'EmForge'.
>> >> ERROR - AuthenticationManager.initialize(158) | Could not configure
>> JAAS:
>> >> URL for JAAS configuration cannot be null.
>> >> FATAL - AuthorizationManager.initialize(424) | JSPWiki was unable to
>> >> initialize the default security policy (WEB-INF/jspwiki.policy) file.
>> >> Please
>> >> ensure that the jspwiki.policy file exists in the default location.
>> This
>> >> file should exist regardless of the existance of a global policy file.
>> >> The
>> >> global policy file is identified by the java.security.policy variable.
>> >> com.ecyrd.jspwiki.auth.WikiSecurityException: JSPWiki was unable to
>> >> initialize the default security policy (WEB-INF/jspwiki.policy) file.
>> >> Please
>> >> ensure that the jspwiki.policy file exists in the default location.
>> This
>> >> file should exist regardless of the existance of a global policy file.
>> >> The
>> >> global policy file is identified by the java.security.policy variable.
>> >>         at
>> >> com.ecyrd.jspwiki.auth.AuthorizationManager.initialize(
>> >> AuthorizationManager.java:423)
>> >> ==============================================
>> >>
>> >> It does not matter whether I put jspwiki.policy file in the WEB-INF
>> >> directory or not. I still get the same error. In my properties file
>> the
>> >> following properties are commented out.
>> >>
>> >> #java.security.auth.login.config=jspwiki.jass
>> >> #java.security.policy=jspwiki.policy
>> >>
>> >> Any idea what I need to do to get it going?
>> >>
>> >>
>> >> Janne Jalkanen wrote:
>> >> >
>> >> >
>> >> > Yup.  You can
>> >> >
>> >> > a) either set "jspwiki.security=off" (turning off the entire
>> security)
>> >> > b) replace AuthorizationManager with your own implementation by
>> setting
>> >> >
>> >> >    <mapping>
>> >> >      <requestedClass>com.ecyrd.jspwiki.auth.AuthorizationManager</
>> >> > requestedClass>
>> >> >      <mappedClass>com.mycompany.mypackage.MyAuthorizationManager</
>> >> > mappedClass>
>> >> >    </mapping>
>> >> >
>> >> > in your ini/classmappings.xml.
>> >> >
>> >> > The latter is a largely undocumented feature, which was introduced
>> in
>> >> > 2.6.  It can be used to break JSPWiki very efficiently :-)
>> >> >
>> >> > the ini/classmappings.xml can be anywhere in your classpath, just as
>> >> > long as it is before JSPWiki.jar (which ships with the default
>> >> > implementation).  Check out the built-in classmappings.xml for more
>> >> > information.
>> >> >
>> >> > Note that MyAuthorizationManager needs to either extend (if the
>> >> > original file is a class) or implement (if the original is an
>> >> > interface).  There are no real checks as to the integrity of the
>> class.
>> >> >
>> >> > I have some ideas on how to make this integration process easier,
>> but
>> >> > haven't gotten around to experimenting with them yet.
>> >> >
>> >> > /Janne
>> >> >
>> >> > On Jan 4, 2008, at 08:21 , Ethan Larson wrote:
>> >> >
>> >> >> Ok, I created a dummy page provider and a dummy authorizer and I
>> >> >> got a lot farther. I don't even need a MemoryPageProvider since I
>> >> >> all I need is the output (thanks just the same Florian - it was
>> >> >> instructive).  I actually got translated output.  The problem is
>> >> >> that I had to modify the source code to do it.  I had to comment
>> >> >> out line 532 of WikiEngine:
>> >> >>
>> >> >> //m_authorizationManager.initialize( this, props );
>> >> >>
>> >> >> As near as I can tell, there's no way to create an authorization
>> >> >> manager that doesn't involve a jspwiki.policy under WEB-INF.
>> >> >> However, since I'm running it as a standalone app, I don't have a
>> >> >> web container and therefore no WEB-INF.  I could create this under
>> >> >> the working directory, but I really don't want to put blank, unused
>> >> >> metadata in my app.  Is there any way to configure this such that I
>> >> >> can start the authorization manager without a jspwiki.policy?
>> >> >>
>> >> >> On a broader note, I'd be over the moon if this were an easier
>> >> >> process.  JSPWiki seems to be the most actively developed and
>> >> >> feature-rich Java wiki there is, and has support for plugins and
>> >> >> filters which I will eventually need.  If there were an easy way to
>> >> >> run the wiki translation, complete with plugins and filters, that
>> >> >> didn't involve a web container and any extra memory/disk usage, it
>> >> >> could broaden the usage quite a bit.  I've looked at other java
>> >> >> wiki translators out there, and none of them are doing a good job
>> >> >> of the features/active development/ease of standalone combo
>> >> >> (Radeox, Bliki, VQWiki to name a few).  Other forum/mailing list
>> >> >> posts confirm there is a demand.
>> >> >>
>> >> >> Thanks for all your help,
>> >> >> Ethan
>> >> >>
>> >> >> P.S. -- Here's my current code for anyone reading this in the
>> future:
>> >> >>
>> >> >> Properties props = new Properties();
>> >> >> props.setProperty(PageManager.PROP_PAGEPROVIDER,
>> >> >> MyPageProvider.class.getName());
>> >> >> props.setProperty(AuthorizationManager.PROP_AUTHORIZER,
>> >> >> MyAuthorizer.class.getName());
>> >> >>
>> >> >> WikiEngine engine = new WikiEngine(props);
>> >> >>
>> >> >> WikiContext context = new WikiContext(engine, new WikiPage(engine,
>> >> >> "test"));
>> >> >>
>> >> >> System.out.println("output: \n" + engine.textToHTML(context, "this
>> >> >> is a test\n\n* more stuff"));
>> >> >>
>> >> >>
>> >> >> MyPageProvider and MyAuthorizer are both empty implentations of the
>> >> >> interfaces.  Just return an empty List for
>> MyPageProvider.getAllPages.
>> >> >>
>> >> >>
>> >> >> Janne Jalkanen wrote:
>> >> >>>
>> >> >>> Yup, the problem is that there needs to be *some* kind of a page
>> >> >>> provider, because the system needs to check if e.g. a page exists
>> >> >>> or not when it encounters a link.  The generated HTML differs in
>> >> >>> each case.
>> >> >>>
>> >> >>> A dummy provider will do just fine, e.g. the MemoryPageProvider.
>> >> >>>
>> >> >>> /Janne
>> >> >>>
>> >> >>> On Jan 2, 2008, at 00:23 , Florian Holeczek wrote:
>> >> >>>
>> >> >>>> Hi Ethan,
>> >> >>>>
>> >> >>>> maybe this can help you:
>> >> >>>> http://www.jspwiki.org/wiki/MemoryPageProvider
>> >> >>>>
>> >> >>>> Regards,
>> >> >>>>  Florian
>> >> >>>>
>> >> >>>>> The problem with the page directory is that I don't want one. I
>> >> >>>>> will
>> >> >>>>> be managing the input/output of the text myself. I really just
>> want
>> >> >>>>> to give some wiki markup to the parser and get back html. Is
>> there
>> >> >>>>> currently a way to do this?
>> >> >>>>
>> >> >>>
>> >> >
>> >> >
>> >> >
>> >>
>> >> --
>> >> View this message in context:
>> >> http://www.nabble.com/Embedding-JSPWiki-2.6-tp14553249p15225248.html
>> >> Sent from the JspWiki - User mailing list archive at Nabble.com.
>> >>
>> >>
>> >
>> >
>> > --
>> > With best regards,
>> > Alexey Kakunin
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Embedding-JSPWiki-2.6-tp14553249p15226254.html
>> Sent from the JspWiki - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> -- 
> With best regards,
> Alexey Kakunin
> 
> 

-- 
View this message in context: http://www.nabble.com/Embedding-JSPWiki-2.6-tp14553249p15242476.html
Sent from the JspWiki - User mailing list archive at Nabble.com.


Re: Embedding JSPWiki 2.6 [into a spring web app]

Posted by Alexey Kakunin <ak...@emdev.ru>.
You can check
http://www.emforge.org/fileviewer/EmForge/trunk/EmForge/src/main/java/ru/emdev/EmForge/wiki/security/AuthorizerImpl.java

It is our own implementation (actually simple stub) for JspWiki Authorizer.
Since anyway you will need to interate your authorization based on Acegi -
it seems you will need to use it as start point and then
implement all methods with using Acegi.

To use this authorizer we used followed properties in wikiEngine bean:

                <prop key="jspwiki.security">jaas</prop>
                <prop key="jspwiki.authorizer">
ru.emdev.EmForge.wiki.security.AuthorizerImpl</prop>


I do not remember why - but we also met same problem with looking for
WEB-INF/web.xml in standard JspWiki authorizer... it seems because JspWiki
is not created in it's native way (with initializing with jspwiki.properties)
- but from Spring

2008/2/1, dexterz <de...@hotmail.com>:
>
>
> Thanks for the response.
> Indeed I had to comment out some security related properties to get rid of
> eariler error.
> Now I am getting
> =======================
> ERROR - AuthenticationManager.initialize(158) | Could not configure JAAS:
> URL for JAAS configuration cannot be null.
> ERROR - WebContainerAuthorizer.initialize(119) | Initialization failed:
> java.io.IOException: Unable to find web.xml for processing.
>         at
> com.ecyrd.jspwiki.auth.authorize.WebContainerAuthorizer.getWebXml(
> WebContainerAuthorizer.java:386)
> =======================
>
> I think the first couple of errors are ok. However, I am a bit confused
> about the web.xml error. There is already a web.xml file present for my
> spring web app!
>
>
> Alexey Kakunin-3 wrote:
> >
> > Hello, Dexter
> >
> > 2008/2/1, dexterz <sa...@techlogix.com>:
> >>
> >>
> >> I am trying to embed JSPWiki into my spring web app. What I want to
> >> achieve
> >> is to be able to do something similar to EmForge. At the moment I am
> just
> >> doing a simple integration.
> >> I started following EmForge strategy as is. I...
> >> 1) Included all the relevant libs for JSPWiki in my web app's lib
> folder.
> >> 2) Defined a bean in spring application context xml .
> >
> >
> > If you are creating JspWiki engine via Factory bean - you should take
> into
> > account that jspwiki.properties are not used at all - WikiEngine is
> > initialzed with properties set, specified in the bean.
> >
> > So, you need to specify correct values for security configuration bean
> > properties.
> >
> > But - be sure there WikiEngine is initialized (just put breakpoint into
> > WikiEngine intialization function to see how it is called).
> >
> >
> > 3) Added relevant java implementation files for the engine and page
> >> providers.
> >> 4) Put jspwiki.properties file in my web app's WEB-INF folder.
> >>
> >> When I try to bring my web app up with Tomcat I get the following error
> >> =========================================
> >> Starting up background thread: JSPWiki Lucene Indexer.
> >> Starting up background thread: WatchDog for 'EmForge'.
> >> ERROR - AuthenticationManager.initialize(158) | Could not configure
> JAAS:
> >> URL for JAAS configuration cannot be null.
> >> FATAL - AuthorizationManager.initialize(424) | JSPWiki was unable to
> >> initialize the default security policy (WEB-INF/jspwiki.policy) file.
> >> Please
> >> ensure that the jspwiki.policy file exists in the default location.
> This
> >> file should exist regardless of the existance of a global policy file.
> >> The
> >> global policy file is identified by the java.security.policy variable.
> >> com.ecyrd.jspwiki.auth.WikiSecurityException: JSPWiki was unable to
> >> initialize the default security policy (WEB-INF/jspwiki.policy) file.
> >> Please
> >> ensure that the jspwiki.policy file exists in the default location.
> This
> >> file should exist regardless of the existance of a global policy file.
> >> The
> >> global policy file is identified by the java.security.policy variable.
> >>         at
> >> com.ecyrd.jspwiki.auth.AuthorizationManager.initialize(
> >> AuthorizationManager.java:423)
> >> ==============================================
> >>
> >> It does not matter whether I put jspwiki.policy file in the WEB-INF
> >> directory or not. I still get the same error. In my properties file the
> >> following properties are commented out.
> >>
> >> #java.security.auth.login.config=jspwiki.jass
> >> #java.security.policy=jspwiki.policy
> >>
> >> Any idea what I need to do to get it going?
> >>
> >>
> >> Janne Jalkanen wrote:
> >> >
> >> >
> >> > Yup.  You can
> >> >
> >> > a) either set "jspwiki.security=off" (turning off the entire
> security)
> >> > b) replace AuthorizationManager with your own implementation by
> setting
> >> >
> >> >    <mapping>
> >> >      <requestedClass>com.ecyrd.jspwiki.auth.AuthorizationManager</
> >> > requestedClass>
> >> >      <mappedClass>com.mycompany.mypackage.MyAuthorizationManager</
> >> > mappedClass>
> >> >    </mapping>
> >> >
> >> > in your ini/classmappings.xml.
> >> >
> >> > The latter is a largely undocumented feature, which was introduced in
> >> > 2.6.  It can be used to break JSPWiki very efficiently :-)
> >> >
> >> > the ini/classmappings.xml can be anywhere in your classpath, just as
> >> > long as it is before JSPWiki.jar (which ships with the default
> >> > implementation).  Check out the built-in classmappings.xml for more
> >> > information.
> >> >
> >> > Note that MyAuthorizationManager needs to either extend (if the
> >> > original file is a class) or implement (if the original is an
> >> > interface).  There are no real checks as to the integrity of the
> class.
> >> >
> >> > I have some ideas on how to make this integration process easier, but
> >> > haven't gotten around to experimenting with them yet.
> >> >
> >> > /Janne
> >> >
> >> > On Jan 4, 2008, at 08:21 , Ethan Larson wrote:
> >> >
> >> >> Ok, I created a dummy page provider and a dummy authorizer and I
> >> >> got a lot farther. I don't even need a MemoryPageProvider since I
> >> >> all I need is the output (thanks just the same Florian - it was
> >> >> instructive).  I actually got translated output.  The problem is
> >> >> that I had to modify the source code to do it.  I had to comment
> >> >> out line 532 of WikiEngine:
> >> >>
> >> >> //m_authorizationManager.initialize( this, props );
> >> >>
> >> >> As near as I can tell, there's no way to create an authorization
> >> >> manager that doesn't involve a jspwiki.policy under WEB-INF.
> >> >> However, since I'm running it as a standalone app, I don't have a
> >> >> web container and therefore no WEB-INF.  I could create this under
> >> >> the working directory, but I really don't want to put blank, unused
> >> >> metadata in my app.  Is there any way to configure this such that I
> >> >> can start the authorization manager without a jspwiki.policy?
> >> >>
> >> >> On a broader note, I'd be over the moon if this were an easier
> >> >> process.  JSPWiki seems to be the most actively developed and
> >> >> feature-rich Java wiki there is, and has support for plugins and
> >> >> filters which I will eventually need.  If there were an easy way to
> >> >> run the wiki translation, complete with plugins and filters, that
> >> >> didn't involve a web container and any extra memory/disk usage, it
> >> >> could broaden the usage quite a bit.  I've looked at other java
> >> >> wiki translators out there, and none of them are doing a good job
> >> >> of the features/active development/ease of standalone combo
> >> >> (Radeox, Bliki, VQWiki to name a few).  Other forum/mailing list
> >> >> posts confirm there is a demand.
> >> >>
> >> >> Thanks for all your help,
> >> >> Ethan
> >> >>
> >> >> P.S. -- Here's my current code for anyone reading this in the
> future:
> >> >>
> >> >> Properties props = new Properties();
> >> >> props.setProperty(PageManager.PROP_PAGEPROVIDER,
> >> >> MyPageProvider.class.getName());
> >> >> props.setProperty(AuthorizationManager.PROP_AUTHORIZER,
> >> >> MyAuthorizer.class.getName());
> >> >>
> >> >> WikiEngine engine = new WikiEngine(props);
> >> >>
> >> >> WikiContext context = new WikiContext(engine, new WikiPage(engine,
> >> >> "test"));
> >> >>
> >> >> System.out.println("output: \n" + engine.textToHTML(context, "this
> >> >> is a test\n\n* more stuff"));
> >> >>
> >> >>
> >> >> MyPageProvider and MyAuthorizer are both empty implentations of the
> >> >> interfaces.  Just return an empty List for
> MyPageProvider.getAllPages.
> >> >>
> >> >>
> >> >> Janne Jalkanen wrote:
> >> >>>
> >> >>> Yup, the problem is that there needs to be *some* kind of a page
> >> >>> provider, because the system needs to check if e.g. a page exists
> >> >>> or not when it encounters a link.  The generated HTML differs in
> >> >>> each case.
> >> >>>
> >> >>> A dummy provider will do just fine, e.g. the MemoryPageProvider.
> >> >>>
> >> >>> /Janne
> >> >>>
> >> >>> On Jan 2, 2008, at 00:23 , Florian Holeczek wrote:
> >> >>>
> >> >>>> Hi Ethan,
> >> >>>>
> >> >>>> maybe this can help you:
> >> >>>> http://www.jspwiki.org/wiki/MemoryPageProvider
> >> >>>>
> >> >>>> Regards,
> >> >>>>  Florian
> >> >>>>
> >> >>>>> The problem with the page directory is that I don't want one. I
> >> >>>>> will
> >> >>>>> be managing the input/output of the text myself. I really just
> want
> >> >>>>> to give some wiki markup to the parser and get back html. Is
> there
> >> >>>>> currently a way to do this?
> >> >>>>
> >> >>>
> >> >
> >> >
> >> >
> >>
> >> --
> >> View this message in context:
> >> http://www.nabble.com/Embedding-JSPWiki-2.6-tp14553249p15225248.html
> >> Sent from the JspWiki - User mailing list archive at Nabble.com.
> >>
> >>
> >
> >
> > --
> > With best regards,
> > Alexey Kakunin
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Embedding-JSPWiki-2.6-tp14553249p15226254.html
> Sent from the JspWiki - User mailing list archive at Nabble.com.
>
>


-- 
With best regards,
Alexey Kakunin

Re: Embedding JSPWiki 2.6 [into a spring web app]

Posted by dexterz <de...@hotmail.com>.
Thanks for the response.
Indeed I had to comment out some security related properties to get rid of
eariler error. 
Now I am getting 
=======================
ERROR - AuthenticationManager.initialize(158) | Could not configure JAAS:
URL for JAAS configuration cannot be null.
ERROR - WebContainerAuthorizer.initialize(119) | Initialization failed: 
java.io.IOException: Unable to find web.xml for processing.
	at
com.ecyrd.jspwiki.auth.authorize.WebContainerAuthorizer.getWebXml(WebContainerAuthorizer.java:386)
=======================

I think the first couple of errors are ok. However, I am a bit confused
about the web.xml error. There is already a web.xml file present for my
spring web app! 


Alexey Kakunin-3 wrote:
> 
> Hello, Dexter
> 
> 2008/2/1, dexterz <sa...@techlogix.com>:
>>
>>
>> I am trying to embed JSPWiki into my spring web app. What I want to
>> achieve
>> is to be able to do something similar to EmForge. At the moment I am just
>> doing a simple integration.
>> I started following EmForge strategy as is. I...
>> 1) Included all the relevant libs for JSPWiki in my web app's lib folder.
>> 2) Defined a bean in spring application context xml .
> 
> 
> If you are creating JspWiki engine via Factory bean - you should take into
> account that jspwiki.properties are not used at all - WikiEngine is
> initialzed with properties set, specified in the bean.
> 
> So, you need to specify correct values for security configuration bean
> properties.
> 
> But - be sure there WikiEngine is initialized (just put breakpoint into
> WikiEngine intialization function to see how it is called).
> 
> 
> 3) Added relevant java implementation files for the engine and page
>> providers.
>> 4) Put jspwiki.properties file in my web app's WEB-INF folder.
>>
>> When I try to bring my web app up with Tomcat I get the following error
>> =========================================
>> Starting up background thread: JSPWiki Lucene Indexer.
>> Starting up background thread: WatchDog for 'EmForge'.
>> ERROR - AuthenticationManager.initialize(158) | Could not configure JAAS:
>> URL for JAAS configuration cannot be null.
>> FATAL - AuthorizationManager.initialize(424) | JSPWiki was unable to
>> initialize the default security policy (WEB-INF/jspwiki.policy) file.
>> Please
>> ensure that the jspwiki.policy file exists in the default location. This
>> file should exist regardless of the existance of a global policy file.
>> The
>> global policy file is identified by the java.security.policy variable.
>> com.ecyrd.jspwiki.auth.WikiSecurityException: JSPWiki was unable to
>> initialize the default security policy (WEB-INF/jspwiki.policy) file.
>> Please
>> ensure that the jspwiki.policy file exists in the default location. This
>> file should exist regardless of the existance of a global policy file.
>> The
>> global policy file is identified by the java.security.policy variable.
>>         at
>> com.ecyrd.jspwiki.auth.AuthorizationManager.initialize(
>> AuthorizationManager.java:423)
>> ==============================================
>>
>> It does not matter whether I put jspwiki.policy file in the WEB-INF
>> directory or not. I still get the same error. In my properties file the
>> following properties are commented out.
>>
>> #java.security.auth.login.config=jspwiki.jass
>> #java.security.policy=jspwiki.policy
>>
>> Any idea what I need to do to get it going?
>>
>>
>> Janne Jalkanen wrote:
>> >
>> >
>> > Yup.  You can
>> >
>> > a) either set "jspwiki.security=off" (turning off the entire security)
>> > b) replace AuthorizationManager with your own implementation by setting
>> >
>> >    <mapping>
>> >      <requestedClass>com.ecyrd.jspwiki.auth.AuthorizationManager</
>> > requestedClass>
>> >      <mappedClass>com.mycompany.mypackage.MyAuthorizationManager</
>> > mappedClass>
>> >    </mapping>
>> >
>> > in your ini/classmappings.xml.
>> >
>> > The latter is a largely undocumented feature, which was introduced in
>> > 2.6.  It can be used to break JSPWiki very efficiently :-)
>> >
>> > the ini/classmappings.xml can be anywhere in your classpath, just as
>> > long as it is before JSPWiki.jar (which ships with the default
>> > implementation).  Check out the built-in classmappings.xml for more
>> > information.
>> >
>> > Note that MyAuthorizationManager needs to either extend (if the
>> > original file is a class) or implement (if the original is an
>> > interface).  There are no real checks as to the integrity of the class.
>> >
>> > I have some ideas on how to make this integration process easier, but
>> > haven't gotten around to experimenting with them yet.
>> >
>> > /Janne
>> >
>> > On Jan 4, 2008, at 08:21 , Ethan Larson wrote:
>> >
>> >> Ok, I created a dummy page provider and a dummy authorizer and I
>> >> got a lot farther. I don't even need a MemoryPageProvider since I
>> >> all I need is the output (thanks just the same Florian - it was
>> >> instructive).  I actually got translated output.  The problem is
>> >> that I had to modify the source code to do it.  I had to comment
>> >> out line 532 of WikiEngine:
>> >>
>> >> //m_authorizationManager.initialize( this, props );
>> >>
>> >> As near as I can tell, there's no way to create an authorization
>> >> manager that doesn't involve a jspwiki.policy under WEB-INF.
>> >> However, since I'm running it as a standalone app, I don't have a
>> >> web container and therefore no WEB-INF.  I could create this under
>> >> the working directory, but I really don't want to put blank, unused
>> >> metadata in my app.  Is there any way to configure this such that I
>> >> can start the authorization manager without a jspwiki.policy?
>> >>
>> >> On a broader note, I'd be over the moon if this were an easier
>> >> process.  JSPWiki seems to be the most actively developed and
>> >> feature-rich Java wiki there is, and has support for plugins and
>> >> filters which I will eventually need.  If there were an easy way to
>> >> run the wiki translation, complete with plugins and filters, that
>> >> didn't involve a web container and any extra memory/disk usage, it
>> >> could broaden the usage quite a bit.  I've looked at other java
>> >> wiki translators out there, and none of them are doing a good job
>> >> of the features/active development/ease of standalone combo
>> >> (Radeox, Bliki, VQWiki to name a few).  Other forum/mailing list
>> >> posts confirm there is a demand.
>> >>
>> >> Thanks for all your help,
>> >> Ethan
>> >>
>> >> P.S. -- Here's my current code for anyone reading this in the future:
>> >>
>> >> Properties props = new Properties();
>> >> props.setProperty(PageManager.PROP_PAGEPROVIDER,
>> >> MyPageProvider.class.getName());
>> >> props.setProperty(AuthorizationManager.PROP_AUTHORIZER,
>> >> MyAuthorizer.class.getName());
>> >>
>> >> WikiEngine engine = new WikiEngine(props);
>> >>
>> >> WikiContext context = new WikiContext(engine, new WikiPage(engine,
>> >> "test"));
>> >>
>> >> System.out.println("output: \n" + engine.textToHTML(context, "this
>> >> is a test\n\n* more stuff"));
>> >>
>> >>
>> >> MyPageProvider and MyAuthorizer are both empty implentations of the
>> >> interfaces.  Just return an empty List for MyPageProvider.getAllPages.
>> >>
>> >>
>> >> Janne Jalkanen wrote:
>> >>>
>> >>> Yup, the problem is that there needs to be *some* kind of a page
>> >>> provider, because the system needs to check if e.g. a page exists
>> >>> or not when it encounters a link.  The generated HTML differs in
>> >>> each case.
>> >>>
>> >>> A dummy provider will do just fine, e.g. the MemoryPageProvider.
>> >>>
>> >>> /Janne
>> >>>
>> >>> On Jan 2, 2008, at 00:23 , Florian Holeczek wrote:
>> >>>
>> >>>> Hi Ethan,
>> >>>>
>> >>>> maybe this can help you:
>> >>>> http://www.jspwiki.org/wiki/MemoryPageProvider
>> >>>>
>> >>>> Regards,
>> >>>>  Florian
>> >>>>
>> >>>>> The problem with the page directory is that I don't want one. I
>> >>>>> will
>> >>>>> be managing the input/output of the text myself. I really just want
>> >>>>> to give some wiki markup to the parser and get back html. Is there
>> >>>>> currently a way to do this?
>> >>>>
>> >>>
>> >
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Embedding-JSPWiki-2.6-tp14553249p15225248.html
>> Sent from the JspWiki - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> -- 
> With best regards,
> Alexey Kakunin
> 
> 

-- 
View this message in context: http://www.nabble.com/Embedding-JSPWiki-2.6-tp14553249p15226254.html
Sent from the JspWiki - User mailing list archive at Nabble.com.


Re: Embedding JSPWiki 2.6 [into a spring web app]

Posted by Alexey Kakunin <ak...@emdev.ru>.
Hello, Dexter

2008/2/1, dexterz <sa...@techlogix.com>:
>
>
> I am trying to embed JSPWiki into my spring web app. What I want to
> achieve
> is to be able to do something similar to EmForge. At the moment I am just
> doing a simple integration.
> I started following EmForge strategy as is. I...
> 1) Included all the relevant libs for JSPWiki in my web app's lib folder.
> 2) Defined a bean in spring application context xml .


If you are creating JspWiki engine via Factory bean - you should take into
account that jspwiki.properties are not used at all - WikiEngine is
initialzed with properties set, specified in the bean.

So, you need to specify correct values for security configuration bean
properties.

But - be sure there WikiEngine is initialized (just put breakpoint into
WikiEngine intialization function to see how it is called).


3) Added relevant java implementation files for the engine and page
> providers.
> 4) Put jspwiki.properties file in my web app's WEB-INF folder.
>
> When I try to bring my web app up with Tomcat I get the following error
> =========================================
> Starting up background thread: JSPWiki Lucene Indexer.
> Starting up background thread: WatchDog for 'EmForge'.
> ERROR - AuthenticationManager.initialize(158) | Could not configure JAAS:
> URL for JAAS configuration cannot be null.
> FATAL - AuthorizationManager.initialize(424) | JSPWiki was unable to
> initialize the default security policy (WEB-INF/jspwiki.policy) file.
> Please
> ensure that the jspwiki.policy file exists in the default location. This
> file should exist regardless of the existance of a global policy file. The
> global policy file is identified by the java.security.policy variable.
> com.ecyrd.jspwiki.auth.WikiSecurityException: JSPWiki was unable to
> initialize the default security policy (WEB-INF/jspwiki.policy) file.
> Please
> ensure that the jspwiki.policy file exists in the default location. This
> file should exist regardless of the existance of a global policy file. The
> global policy file is identified by the java.security.policy variable.
>         at
> com.ecyrd.jspwiki.auth.AuthorizationManager.initialize(
> AuthorizationManager.java:423)
> ==============================================
>
> It does not matter whether I put jspwiki.policy file in the WEB-INF
> directory or not. I still get the same error. In my properties file the
> following properties are commented out.
>
> #java.security.auth.login.config=jspwiki.jass
> #java.security.policy=jspwiki.policy
>
> Any idea what I need to do to get it going?
>
>
> Janne Jalkanen wrote:
> >
> >
> > Yup.  You can
> >
> > a) either set "jspwiki.security=off" (turning off the entire security)
> > b) replace AuthorizationManager with your own implementation by setting
> >
> >    <mapping>
> >      <requestedClass>com.ecyrd.jspwiki.auth.AuthorizationManager</
> > requestedClass>
> >      <mappedClass>com.mycompany.mypackage.MyAuthorizationManager</
> > mappedClass>
> >    </mapping>
> >
> > in your ini/classmappings.xml.
> >
> > The latter is a largely undocumented feature, which was introduced in
> > 2.6.  It can be used to break JSPWiki very efficiently :-)
> >
> > the ini/classmappings.xml can be anywhere in your classpath, just as
> > long as it is before JSPWiki.jar (which ships with the default
> > implementation).  Check out the built-in classmappings.xml for more
> > information.
> >
> > Note that MyAuthorizationManager needs to either extend (if the
> > original file is a class) or implement (if the original is an
> > interface).  There are no real checks as to the integrity of the class.
> >
> > I have some ideas on how to make this integration process easier, but
> > haven't gotten around to experimenting with them yet.
> >
> > /Janne
> >
> > On Jan 4, 2008, at 08:21 , Ethan Larson wrote:
> >
> >> Ok, I created a dummy page provider and a dummy authorizer and I
> >> got a lot farther. I don't even need a MemoryPageProvider since I
> >> all I need is the output (thanks just the same Florian - it was
> >> instructive).  I actually got translated output.  The problem is
> >> that I had to modify the source code to do it.  I had to comment
> >> out line 532 of WikiEngine:
> >>
> >> //m_authorizationManager.initialize( this, props );
> >>
> >> As near as I can tell, there's no way to create an authorization
> >> manager that doesn't involve a jspwiki.policy under WEB-INF.
> >> However, since I'm running it as a standalone app, I don't have a
> >> web container and therefore no WEB-INF.  I could create this under
> >> the working directory, but I really don't want to put blank, unused
> >> metadata in my app.  Is there any way to configure this such that I
> >> can start the authorization manager without a jspwiki.policy?
> >>
> >> On a broader note, I'd be over the moon if this were an easier
> >> process.  JSPWiki seems to be the most actively developed and
> >> feature-rich Java wiki there is, and has support for plugins and
> >> filters which I will eventually need.  If there were an easy way to
> >> run the wiki translation, complete with plugins and filters, that
> >> didn't involve a web container and any extra memory/disk usage, it
> >> could broaden the usage quite a bit.  I've looked at other java
> >> wiki translators out there, and none of them are doing a good job
> >> of the features/active development/ease of standalone combo
> >> (Radeox, Bliki, VQWiki to name a few).  Other forum/mailing list
> >> posts confirm there is a demand.
> >>
> >> Thanks for all your help,
> >> Ethan
> >>
> >> P.S. -- Here's my current code for anyone reading this in the future:
> >>
> >> Properties props = new Properties();
> >> props.setProperty(PageManager.PROP_PAGEPROVIDER,
> >> MyPageProvider.class.getName());
> >> props.setProperty(AuthorizationManager.PROP_AUTHORIZER,
> >> MyAuthorizer.class.getName());
> >>
> >> WikiEngine engine = new WikiEngine(props);
> >>
> >> WikiContext context = new WikiContext(engine, new WikiPage(engine,
> >> "test"));
> >>
> >> System.out.println("output: \n" + engine.textToHTML(context, "this
> >> is a test\n\n* more stuff"));
> >>
> >>
> >> MyPageProvider and MyAuthorizer are both empty implentations of the
> >> interfaces.  Just return an empty List for MyPageProvider.getAllPages.
> >>
> >>
> >> Janne Jalkanen wrote:
> >>>
> >>> Yup, the problem is that there needs to be *some* kind of a page
> >>> provider, because the system needs to check if e.g. a page exists
> >>> or not when it encounters a link.  The generated HTML differs in
> >>> each case.
> >>>
> >>> A dummy provider will do just fine, e.g. the MemoryPageProvider.
> >>>
> >>> /Janne
> >>>
> >>> On Jan 2, 2008, at 00:23 , Florian Holeczek wrote:
> >>>
> >>>> Hi Ethan,
> >>>>
> >>>> maybe this can help you:
> >>>> http://www.jspwiki.org/wiki/MemoryPageProvider
> >>>>
> >>>> Regards,
> >>>>  Florian
> >>>>
> >>>>> The problem with the page directory is that I don't want one. I
> >>>>> will
> >>>>> be managing the input/output of the text myself. I really just want
> >>>>> to give some wiki markup to the parser and get back html. Is there
> >>>>> currently a way to do this?
> >>>>
> >>>
> >
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Embedding-JSPWiki-2.6-tp14553249p15225248.html
> Sent from the JspWiki - User mailing list archive at Nabble.com.
>
>


-- 
With best regards,
Alexey Kakunin