Yes, +1.  A nice Wiki entry about this stuff would be great (and it would
help me document my stuff :-).  Do you think we should put it in the main
Tapestry Wiki?

-----Original Message-----
From: ZedroS Schwart [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, July 11, 2006 7:10 AM
To: Tapestry users
Subject: Re: Tapestry + Acegi + Spring integration

I'm not a lot in this Hibernate/Spring/Acegi stuff currently but I'm
really curious about it.

I wonder, Jesper, if you wouldn't have an advantage of using James'
Tapernate stuff. If not, why ?

BTW, I think the Wiki is the best place where such excellent mail
should end up !

Cheers
ZedroS
On 7/11/06, James Carman <[EMAIL PROTECTED]> wrote:
> You can tell HiveMind to use a different password encoder if you want.
All
> you have to do is override the symbol hivemind.acegi.dao.passwordEncoder:
>
> <contribution configuration-id="hivemind.ApplicationDefaults">
>   <default
>     symbol="hivemind.acegi.dao.passwordEncoder"
> value="org.acegisecurity.providers.encoding.Md5PasswordEncoder"/>
>     </contribution>
>
> -----Original Message-----
> From: news [mailto:[EMAIL PROTECTED] On Behalf Of Jesper Zedlitz
> Sent: Tuesday, July 11, 2006 3:31 AM
> To: users@tapestry.apache.org
> Subject: Tapestry + Acegi + Spring integration
>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> The integration of Tapestry, Acegi and Spring seems to be a hot topic.
>
> I have created a simple example that shows how that can be done. The
> complete source code can be found here:
> http://www.zedlitz.de/tapestry-acegi.zip (8kB)
>
> If you have Maven2 installed you can go into the directoy tapestry-acegi
and
> enter the command "mvn jetty6:run". Then you can access the application
via
> this URL: http://localhost:8080/tapestry-acegi/app
>
> First I needed two pages (one secured):
> * src/main/webapp/Home.html
> * src/main/webapp/Secured.html
>
> Each of these pages is accompanied by a Java class:
> * src/main/java/de/zedlitz/tapestry/acegi/Home.java
> * src/main/java/de/zedlitz/tapestry/acegi/Secured.java (This is the only
> place where you have to specify that this page is secured!)
>
> I have to tell Tapestry in which package to find the classes:
> * src/main/webapp/WEB-INF/tapestry-acegi.application
>
> A standard webapplication setup for Tapestry and Spring:
> * src/main/webapp/WEB-INF/web.xml
>
> The Spring configuration is also not spectacular. Every Spring enabled
> application that uses Acegi has something like that.
> * src/main/resources/applicationContext.xml
>
> Only three beans are created here:
> * memoryAuthenticationDao (In the example the username and password is
> specified here. But of course you can put any complex bean here to
retrieve
> user information.)
> * daoAuthenticationProvider
> * authenticationManager
>
>
> Now the interesting part - how to put it together:
> * src/main/resources/META-INF/hivemodule.xml
> * src/main/java/de/zedlitz/tapestry/acegi/UserDetailsServiceImpl.java
>
> The service point "SpringApplicationInitializer" gives you access to
> Spring's beans. I have written an implementation for the service
> "hivemind.acegi.dao.UserDetailsService",
> de.zedlitz.tapestry.acegi.UserDetailsServiceImpl that combines a Spring
> UserDetailsService, the PasswordEncoder and the configured salt. From
> hivemodule.xml:
> <implementation service-id="hivemind.acegi.dao.UserDetailsService">
>   <invoke-factory>
>    <construct class="de.zedlitz.tapestry.acegi.UserDetailsServiceImpl">
>      <set-object property="userDetailsService"
>                 value="spring:memoryAuthenticationDao"/>
>      <set-service property="passwordEncoder"
>                   service-id="hivemind.acegi.dao.PasswordEncoder"/>
>      <set property="salt" value="DUKE"/>
>    </construct>
>   </invoke-factory>
> </implementation>
>
> The dependencies from pom.xml are probably also interesting:
> * tapestry/tapestry-annotations 4.0.1
> * tapestry/tapestry 4.0.1
> * org.springframework/spring  1.2.6
> * org.acegisecurity/acegi-security-tiger 1.0.1
> * com.javaforge.tapestry/tapestry-spring  0.1.2
> * com.javaforge.tapestry/tapestry-acegi  0.1-SNAPSHOT
> * com.javaforge.hivemind/hivemind-acegi-dao  0.1-SNAPSHOT
>
>
> I think that the solution could be made easier. My UserDetailsServiceImpl
> class basicly forwards a UserDetails object. The encoding of the password
> could be unnecessary if you could tell Hivemind to use a different
> PasswordEncoder.
>
> Jesper
>
> - --
>  Jesper Zedlitz   eMail    : [EMAIL PROTECTED]
>                   Homepage : http://www.zedlitz.de
>                   ICQ#     : 23890711
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.1 (GNU/Linux)
>
> iD8DBQFEs1OgjSxW58yLxdgRAnqvAKDAfjpbyZPSLroWSK/xSWtVd6YwhACg63tF
> U7a/UQZyLIf8IHXa0/WUV0o=
> =vFNN
> -----END PGP SIGNATURE-----
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to