Re: Error while launching Login page

2009-04-22 Thread Otho
You just set up your security context as usual with spring. Define the beans
you need for userDetailsService (or other authenticationProvider),
saltSource, encoder, rememberMe etc. and fire up the spring security
namespace config. This is described in great detail in the Spring security
docs as well as database table setup.

A simple example with hierarchical roles in one hierarchy and remember me
services  might look like this:


http://www.springframework.org/schema/beans";
   xmlns:s="http://www.springframework.org/schema/security";
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
   xmlns:context="http://www.springframework.org/schema/context";
   xmlns:util="http://www.springframework.org/schema/util";
   xmlns:tx="http://www.springframework.org/schema/tx";
   xsi:schemaLocation="http://www.springframework.org/schema/context
   http://www.springframework.org/schema/context/spring-context-2.5.xsd
   http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans.xsd
   http://www.springframework.org/schema/util
   http://www.springframework.org/schema/util/spring-util-2.5.xsd
   http://www.springframework.org/schema/tx
   http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
   http://www.springframework.org/schema/security

http://www.springframework.org/schema/security/spring-security-2.0.xsd";>









































ROLE_ADMIN > ROLE_MANAGER
ROLE_MANAGER > ROLE_EDITOR
ROLE_EDITOR > ROLE_AUTHOR
ROLE_AUTHOR > ROLE_USER
ROLE_USER > ROLE_ANONYMOUS

























You need the passwordEncoder and saltSource beans mainly for encoding the
clear text passwords entered on registering a new user or when setting new
passwords.

Now you only have to use the Tapestry-Spring integration and it works. The
only minor problem - depending on your app - is the login and logout
handling. You can make a form around the cookie cutter Spring security hooks
or dice your own. You can find examples here on the mailinglist.

2009/4/22 Borut Bolčina 

> Can you give an example?
>
> -Borut
>


Re: Error while launching Login page

2009-04-22 Thread Borut Bolčina
>>                   AuthenticationProcessingFilter
>> >> authenticationProcessingFilter,
>> >>                   Configuration configuration) {
>> >>
>> >>               System.out.println("AppModule: contributeAliasOverrides" +
>> >> configuration);
>> >>
>> >>
>> configuration.add(AliasContribution.create(SaltSourceService.class,saltSource));
>> >>
>> >>
>> configuration.add(AliasContribution.create(AuthenticationProcessingFilter.class,authenticationProcessingFilter));
>> >>       }
>> >>
>> >>
>> >>     public static LoginHelper
>> >> buildLoginHelper(@InjectService("MySaltSource") SaltSourceService
>> >>                                       saltSource, PasswordEncoder
>> encrypter , AuthenticationManager
>> >> authManager) {
>> >>             return new
>> AcegiLoginHelper(authManager,saltSource,encrypter);
>> >>       //return new AcegiLoginHelper(authManager);
>> >>     }
>> >>
>> >>
>> >>     public static void
>> >> contributeApplicationDefaults(MappedConfiguration
>> >> configuration){
>> >>         configuration.add(SymbolConstants.SUPPORTED_LOCALES, "en");
>> >>         configuration.add(SymbolConstants.PRODUCTION_MODE, "false");
>> >>         configuration.add("acegi.failure.url", "/error");
>> >>         configuration.add("acegi.password.encoder",
>> >> "org.acegisecurity.providers.encoding.PlaintextPasswordEncoder");
>> >>         configuration.add("acegi.target.url", "/Program");
>> >>     }
>> >>
>> >>
>> >>     /**
>> >>      * This is a service definition, the service will be named
>> >> "TimingFilter". The interface,
>> >>      * RequestFilter, is used within the RequestHandler service
>> pipeline,
>> >> which is built from the
>> >>      * RequestHandler service configuration. Tapestry IoC is responsible
>> >> for passing in an
>> >>      * appropriate Logger instance. Requests for static resources are
>> >> handled at a higher level, so
>> >>      * this filter will only be invoked for Tapestry related requests.
>> >>      *
>> >>      * 
>> >>      * Service builder methods are useful when the implementation is
>> >> inline as an inner class
>> >>      * (as here) or require some other kind of special initialization.
>> In
>> >> most cases,
>> >>      * use the static bind() method instead.
>> >>      *
>> >>      * 
>> >>      * If this method was named "build", then the service id would be
>> >> taken from the
>> >>      * service interface and would be "RequestFilter".  Since Tapestry
>> >> already defines
>> >>      * a service named "RequestFilter" we use an explicit service id
>> that
>> >> we can reference
>> >>      * inside the contribution method.
>> >>      */
>> >>     public RequestFilter buildTimingFilter(final Logger log)
>> >>     {
>> >>         return new RequestFilter()
>> >>         {
>> >>             public boolean service(Request request, Response response,
>> >> RequestHandler handler)
>> >>                     throws IOException
>> >>             {
>> >>                 long startTime = System.currentTimeMillis();
>> >>
>> >>                 try
>> >>                 {
>> >>                     // The responsibility of a filter is to invoke the
>> >> corresponding method
>> >>                     // in the handler. When you chain multiple filters
>> >> together, each filter
>> >>                     // received a handler that is a bridge to the next
>> >> filter.
>> >>
>> >>                     return handler.service(request, response);
>> >>                 }
>> >>                 finally
>> >>                 {
>> >>                     long elapsed = System.currentTimeMillis() -
>> startTime;
>> >>
>> >>                     log.info(String.format("Request time: %d ms",
>> >> elapsed));
>> >>                 }
>> >>             }
>> >>         };
>> >>     }
>> >>
>> >>
>> >>
>> >
>> > --
>> > View this message in context:
>> http://www.nabble.com/Error-while-launching-Login-page-tp23164519p23165434.html
>> > Sent from the Tapestry - User mailing list archive at Nabble.com.
>> >
>> >
>> > -
>> > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>> > For additional commands, e-mail: users-h...@tapestry.apache.org
>> >
>> >
>>
>> -
>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>
>>
>

-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



Re: Error while launching Login page

2009-04-22 Thread Otho
onfiguration.add(AliasContribution.create(AuthenticationProcessingFilter.class,authenticationProcessingFilter));
> >>   }
> >>
> >>
> >> public static LoginHelper
> >> buildLoginHelper(@InjectService("MySaltSource") SaltSourceService
> >>   saltSource, PasswordEncoder
> encrypter , AuthenticationManager
> >> authManager) {
> >> return new
> AcegiLoginHelper(authManager,saltSource,encrypter);
> >>   //return new AcegiLoginHelper(authManager);
> >> }
> >>
> >>
> >> public static void
> >> contributeApplicationDefaults(MappedConfiguration
> >> configuration){
> >> configuration.add(SymbolConstants.SUPPORTED_LOCALES, "en");
> >> configuration.add(SymbolConstants.PRODUCTION_MODE, "false");
> >> configuration.add("acegi.failure.url", "/error");
> >> configuration.add("acegi.password.encoder",
> >> "org.acegisecurity.providers.encoding.PlaintextPasswordEncoder");
> >> configuration.add("acegi.target.url", "/Program");
> >> }
> >>
> >>
> >> /**
> >>  * This is a service definition, the service will be named
> >> "TimingFilter". The interface,
> >>  * RequestFilter, is used within the RequestHandler service
> pipeline,
> >> which is built from the
> >>  * RequestHandler service configuration. Tapestry IoC is responsible
> >> for passing in an
> >>  * appropriate Logger instance. Requests for static resources are
> >> handled at a higher level, so
> >>  * this filter will only be invoked for Tapestry related requests.
> >>  *
> >>  * 
> >>  * Service builder methods are useful when the implementation is
> >> inline as an inner class
> >>  * (as here) or require some other kind of special initialization.
> In
> >> most cases,
> >>  * use the static bind() method instead.
> >>  *
> >>  * 
> >>  * If this method was named "build", then the service id would be
> >> taken from the
> >>  * service interface and would be "RequestFilter".  Since Tapestry
> >> already defines
> >>  * a service named "RequestFilter" we use an explicit service id
> that
> >> we can reference
> >>  * inside the contribution method.
> >>  */
> >> public RequestFilter buildTimingFilter(final Logger log)
> >> {
> >> return new RequestFilter()
> >> {
> >> public boolean service(Request request, Response response,
> >> RequestHandler handler)
> >> throws IOException
> >> {
> >> long startTime = System.currentTimeMillis();
> >>
> >> try
> >> {
> >> // The responsibility of a filter is to invoke the
> >> corresponding method
> >> // in the handler. When you chain multiple filters
> >> together, each filter
> >> // received a handler that is a bridge to the next
> >> filter.
> >>
> >> return handler.service(request, response);
> >> }
> >> finally
> >> {
> >> long elapsed = System.currentTimeMillis() -
> startTime;
> >>
> >> log.info(String.format("Request time: %d ms",
> >> elapsed));
> >> }
> >> }
> >> };
> >> }
> >>
> >>
> >>
> >
> > --
> > View this message in context:
> http://www.nabble.com/Error-while-launching-Login-page-tp23164519p23165434.html
> > Sent from the Tapestry - User mailing list archive at Nabble.com.
> >
> >
> > -
> > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> > For additional commands, e-mail: users-h...@tapestry.apache.org
> >
> >
>
> -
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>


Re: Error while launching Login page

2009-04-21 Thread Borut Bolčina
.SUPPORTED_LOCALES, "en");
>>         configuration.add(SymbolConstants.PRODUCTION_MODE, "false");
>>         configuration.add("acegi.failure.url", "/error");
>>         configuration.add("acegi.password.encoder",
>> "org.acegisecurity.providers.encoding.PlaintextPasswordEncoder");
>>         configuration.add("acegi.target.url", "/Program");
>>     }
>>
>>
>>     /**
>>      * This is a service definition, the service will be named
>> "TimingFilter". The interface,
>>      * RequestFilter, is used within the RequestHandler service pipeline,
>> which is built from the
>>      * RequestHandler service configuration. Tapestry IoC is responsible
>> for passing in an
>>      * appropriate Logger instance. Requests for static resources are
>> handled at a higher level, so
>>      * this filter will only be invoked for Tapestry related requests.
>>      *
>>      * 
>>      * Service builder methods are useful when the implementation is
>> inline as an inner class
>>      * (as here) or require some other kind of special initialization. In
>> most cases,
>>      * use the static bind() method instead.
>>      *
>>      * 
>>      * If this method was named "build", then the service id would be
>> taken from the
>>      * service interface and would be "RequestFilter".  Since Tapestry
>> already defines
>>      * a service named "RequestFilter" we use an explicit service id that
>> we can reference
>>      * inside the contribution method.
>>      */
>>     public RequestFilter buildTimingFilter(final Logger log)
>>     {
>>         return new RequestFilter()
>>         {
>>             public boolean service(Request request, Response response,
>> RequestHandler handler)
>>                     throws IOException
>>             {
>>                 long startTime = System.currentTimeMillis();
>>
>>                 try
>>                 {
>>                     // The responsibility of a filter is to invoke the
>> corresponding method
>>                     // in the handler. When you chain multiple filters
>> together, each filter
>>                     // received a handler that is a bridge to the next
>> filter.
>>
>>                     return handler.service(request, response);
>>                 }
>>                 finally
>>                 {
>>                     long elapsed = System.currentTimeMillis() - startTime;
>>
>>                     log.info(String.format("Request time: %d ms",
>> elapsed));
>>                 }
>>             }
>>         };
>>     }
>>
>>
>>
>
> --
> View this message in context: 
> http://www.nabble.com/Error-while-launching-Login-page-tp23164519p23165434.html
> Sent from the Tapestry - User mailing list archive at Nabble.com.
>
>
> -
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>

-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



Re: Error while launching Login page

2009-04-21 Thread ChandraB
* This is a service definition, the service will be named
> "TimingFilter". The interface,
>  * RequestFilter, is used within the RequestHandler service pipeline,
> which is built from the
>  * RequestHandler service configuration. Tapestry IoC is responsible
> for passing in an
>  * appropriate Logger instance. Requests for static resources are
> handled at a higher level, so
>  * this filter will only be invoked for Tapestry related requests.
>  * 
>  * 
>  * Service builder methods are useful when the implementation is
> inline as an inner class
>  * (as here) or require some other kind of special initialization. In
> most cases,
>  * use the static bind() method instead. 
>  * 
>  * 
>  * If this method was named "build", then the service id would be
> taken from the 
>  * service interface and would be "RequestFilter".  Since Tapestry
> already defines
>  * a service named "RequestFilter" we use an explicit service id that
> we can reference
>  * inside the contribution method.
>  */
> public RequestFilter buildTimingFilter(final Logger log)
> {
> return new RequestFilter()
> {
> public boolean service(Request request, Response response,
> RequestHandler handler)
> throws IOException
> {
> long startTime = System.currentTimeMillis();
> 
> try
>     {
>     // The responsibility of a filter is to invoke the
> corresponding method
> // in the handler. When you chain multiple filters
> together, each filter
> // received a handler that is a bridge to the next
> filter.
> 
> return handler.service(request, response);
> }
> finally
> {
> long elapsed = System.currentTimeMillis() - startTime;
> 
> log.info(String.format("Request time: %d ms",
> elapsed));
> }
> }
> };
> }
> 
>
> 

-- 
View this message in context: 
http://www.nabble.com/Error-while-launching-Login-page-tp23164519p23165434.html
Sent from the Tapestry - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



Error while launching Login page

2009-04-21 Thread ChandraB
most cases,
 * use the static bind() method instead. 
 * 
 * 
 * If this method was named "build", then the service id would be taken
from the 
 * service interface and would be "RequestFilter".  Since Tapestry
already defines
 * a service named "RequestFilter" we use an explicit service id that we
can reference
 * inside the contribution method.
 */
public RequestFilter buildTimingFilter(final Logger log)
{
return new RequestFilter()
{
public boolean service(Request request, Response response,
RequestHandler handler)
throws IOException
{
long startTime = System.currentTimeMillis();

try
{
// The responsibility of a filter is to invoke the
corresponding method
// in the handler. When you chain multiple filters
together, each filter
// received a handler that is a bridge to the next
filter.

return handler.service(request, response);
}
finally
    {
        long elapsed = System.currentTimeMillis() - startTime;

log.info(String.format("Request time: %d ms", elapsed));
}
}
};
}

   
-- 
View this message in context: 
http://www.nabble.com/Error-while-launching-Login-page-tp23164519p23164519.html
Sent from the Tapestry - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org