Btw, as a Workaround, you can make a ComponentRequestFilter that redirects
to the Start page when the url root path ("/yourapp/") is requested. That
would make it work.

_______________________
Everton Agner Ramos


2010/11/17 Everton Agner <ton.ag...@gmail.com>

> You might be facing the TAP5-1018 Bug i've reported...
> https://issues.apache.org/jira/browse/TAP5-1018
>
> _______________________
> Everton Agner Ramos
>
>
> 2010/11/17 Kalle Korhonen <kalle.o.korho...@gmail.com>
>
> Wonder if Start is handled differently than Index - if you can, please
>> check and open (Tynamo) issue accordingly.
>>
>> Kalle
>>
>>
>> On Wed, Nov 17, 2010 at 1:44 AM, Paul Stanton <p...@mapshed.com.au>
>> wrote:
>> > Hi Kalle,
>> >
>> > I've just tried t-s 0.2.1 and the
>> > org.apache.shiro.authz.annotation.RequiresAuthentication annotation.
>> >
>> > package zzz.pages;
>> >
>> > @RequiresAuthentication
>> > public class Start
>> > {}
>> >
>> > The same problem occurs.
>> > http://host/app/start - correctly directs to the login page
>> > http://host/app/ - incorrectly displays the page content
>> >
>> > regards, paul.
>> >
>> >
>> > On 16/11/2010 11:50 AM, Kalle Korhonen wrote:
>> >>
>> >> Move to tapestry-security 0.2.1 and use the Shiro
>> >> @RequiresAuthentication annotation instead. The *All annotations were
>> >> removed since I implemented them in Shiro directly (one of the
>> >> benefits of being a committer in both). We do have a couple of tests
>> >> for the case and those are passing. There's a possibility that it was
>> >> an issue with Shiro 1.0.0-incubating release.
>> >>
>> >> Kalle
>> >>
>> >>
>> >> On Sat, Nov 13, 2010 at 2:28 PM, Paul Stanton<p...@mapshed.com.au>
>>  wrote:
>> >>>
>> >>> Also,
>> >>>
>> >>> I've marked my 'Start' page as @RequiresAuthenticationAll, and it
>> >>> correctly
>> >>> forwards to the login page when not already authenticated if the url
>> is
>> >>>
>> >>> http://host/app/start
>> >>>
>> >>> however it displays the page's content if the url is
>> >>>
>> >>> http://host/app/
>> >>>
>> >>> This appears to be a bug IMO, is there a way to work around this or
>> >>> should I
>> >>> log an issue?
>> >>>
>> >>> p.
>> >>>
>> >>> On 12/11/2010 10:50 PM, Paul Stanton wrote:
>> >>>>
>> >>>> Kalle,
>> >>>>
>> >>>> Leaving that one behind...
>> >>>>
>> >>>> Where can I find the documentation regarding the various tapestry
>> >>>> components and pages provided by tapestry-security?
>> >>>>
>> >>>> The Javadoc only contains explainations for 5/11 of the components:
>> >>>>
>> >>>> http://tynamo.org/constant/tapestry-security/apidocs/index.html
>> >>>>
>> >>>> Also, is there a SVN i can download the source code from?
>> >>>>
>> >>>> regards, Paul.
>> >>>>
>> >>>> On 12/11/2010 10:56 AM, Kalle Korhonen wrote:
>> >>>>>
>> >>>>> On Thu, Nov 11, 2010 at 2:25 PM, Paul Stanton<p...@mapshed.com.au>
>> >>>>>  wrote:
>> >>>>>>
>> >>>>>> Interesting. You can see the need for the behaviour but not the
>> need
>> >>>>>> to
>> >>>>>> expose/implement it cleanly via the API.
>> >>>>>
>> >>>>> No, that's the wrong conclusion. Subscribe to the shiro dev list, we
>> >>>>> recently had extensive discussion on this but in the meantime I'm
>> >>>>> saying that you should do and I have done whatever I needed for my
>> >>>>> current needs.
>> >>>>>
>> >>>>> Kalle
>> >>>>>
>> >>>>>
>> >>>>>> For mine, I don't see why
>> >>>>>> 'HashedCredentialsMatcher.hashProvidedCredentials'
>> >>>>>> and 'getCredentials' are  protected, this makes it impossible to
>> >>>>>> expose
>> >>>>>> the
>> >>>>>> hashing functionality without subclassing, which means it is less
>> >>>>>> trivial to
>> >>>>>> change hash provider - the parent class of your custom HCM needs to
>> >>>>>> change.
>> >>>>>>
>> >>>>>> So I'll implement it like so:
>> >>>>>>
>> >>>>>> 1. Subclass chosen implementation of HashedCredentialsMatcher and
>> add
>> >>>>>> 'getHashedCredentials' to expose 'getCredentials'
>> >>>>>>
>> >>>>>> public class AppCredentialsMatcher extends Md5CredentialsMatcher //
>> >>>>>> for
>> >>>>>> example
>> >>>>>> {
>> >>>>>>    public Object getHashedCredentials(AuthenticationToken token)
>> >>>>>>    {
>> >>>>>>        return getCredentials(token);
>> >>>>>>    }
>> >>>>>> }
>> >>>>>>
>> >>>>>> 2. add 'getHashedCredentials' to my Realm:
>> >>>>>>
>> >>>>>>    public String getHashedCredentials(String username, String
>> >>>>>> password)
>> >>>>>>    {
>> >>>>>>        UsernamePasswordToken token = new
>> >>>>>> UsernamePasswordToken(username,
>> >>>>>> password);
>> >>>>>>        return String.valueOf(((AppCredentialsMatcher)
>> >>>>>> getCredentialsMatcher()).getHashedCredentials(token));
>> >>>>>>    }
>> >>>>>>
>> >>>>>> Maybe something like this could be built into the API?
>> >>>>>>
>> >>>>>> Regards, paul.
>> >>>>>>
>> >>>>>>
>> >>>>>> On 12/11/2010 3:30 AM, Kalle Korhonen wrote:
>> >>>>>>>
>> >>>>>>> Hmm.. if you use username as the salt, you already have stored the
>> >>>>>>> salt. For my own custom and application-specifc CredentialsMatcher
>> >>>>>>> implementations, I'm not too purist about these things: sometimes
>> >>>>>>> I've
>> >>>>>>> done it by just adding a static encode operation as part of the
>> >>>>>>> CredentialsMatcher, e.g.:
>> >>>>>>>        public static String encode(String password, int saltWidth,
>> >>>>>>> int
>> >>>>>>> hashIterations) {...}
>> >>>>>>>
>> >>>>>>> Kalle
>> >>>>>>>
>> >>>>>>>
>> >>>>>>> On Thu, Nov 11, 2010 at 2:06 AM, Paul Stanton<p...@mapshed.com.au
>> >
>> >>>>>>>  wrote:
>> >>>>>>>>
>> >>>>>>>> Kalle,
>> >>>>>>>>
>> >>>>>>>> I think you misunderstood my question. I don't have a problem
>> with
>> >>>>>>>> using
>> >>>>>>>> the
>> >>>>>>>> username as the salt, the salt has to be stored parallel to the
>> user
>> >>>>>>>> entity
>> >>>>>>>> somewhere anyway.
>> >>>>>>>>
>> >>>>>>>> I would like to know how to get access to the CredentialsMatcher
>> and
>> >>>>>>>> have
>> >>>>>>>> it
>> >>>>>>>> generate the hashed password for me NOT when authenticating but
>> at
>> >>>>>>>> the
>> >>>>>>>> time
>> >>>>>>>> the user registers.
>> >>>>>>>>
>> >>>>>>>> In my opinion, the encoding scheme should be configured once, and
>> >>>>>>>> the
>> >>>>>>>> CredentialsMatcher seems like the obvious place so I would like
>> to
>> >>>>>>>> use
>> >>>>>>>> it
>> >>>>>>>> whenever I need to generate the hashed version of the password.
>> >>>>>>>>
>> >>>>>>>> I'm thinking the only way to achieve this is to extend one of the
>> >>>>>>>> implementations of HashedCredentialsMatcher and expose a method
>> >>>>>>>> which
>> >>>>>>>> calls
>> >>>>>>>> 'hashProvidedCredentials', and then add another method on the
>> Realm
>> >>>>>>>> to
>> >>>>>>>> in
>> >>>>>>>> turn expose this feature.
>> >>>>>>>>
>> >>>>>>>> This seems like a lot of effort and reduces the flexibility of
>> the
>> >>>>>>>> architecture. For something that must be a common need and
>> therefore
>> >>>>>>>> should
>> >>>>>>>> be exposed by the API, so i'm wondering if I've missed some
>> crucial
>> >>>>>>>> feature.
>> >>>>>>>>
>> >>>>>>>> Regards, paul.
>> >>>>>>>>
>> >>>>>>>> On 11/11/2010 5:04 PM, Kalle Korhonen wrote:
>> >>>>>>>>>
>> >>>>>>>>> On Wed, Nov 10, 2010 at 8:44 PM, Paul Stanton<
>> p...@mapshed.com.au>
>> >>>>>>>>>  wrote:
>> >>>>>>>>>>
>> >>>>>>>>>> Firstly, I'd like to use a salted hash to match credentials...
>> the
>> >>>>>>>>>> booking
>> >>>>>>>>>> example application does not do this and the documentation (for
>> >>>>>>>>>> shiro)
>> >>>>>>>>>> doesn't quite show the complete picture.
>> >>>>>>>>>
>> >>>>>>>>> Yeah I bet you are right on that. That should just work in my
>> >>>>>>>>> opinion
>> >>>>>>>>> without end user having to do any extra work. But you are in
>> luck
>> >>>>>>>>> with
>> >>>>>>>>> that, kind of. 1.1.0 Shiro just added "built-in" support for
>> >>>>>>>>> per-user-salt. tapestry-security 0.3.0-SNAPSHOT integrates with
>> >>>>>>>>> 1.1.0
>> >>>>>>>>> Shiro and I'm going to cut the release pretty soon. See
>> >>>>>>>>> http://www.mail-archive.com/d...@shiro.apache.org/msg00107.htmland
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>>
>> http://svn.apache.org/repos/asf/shiro/trunk/core/src/test/java/org/apache/shiro/authc/credential/HashedCredentialsMatcherTest.java
>> >>>>>>>>> for ideas).
>> >>>>>>>>>
>> >>>>>>>>>> How can I get a handle to an instance of my CredentialsMatcher
>> and
>> >>>>>>>>>> then
>> >>>>>>>>>> expose the method of hashing? should I make it a service too? I
>> >>>>>>>>>> want
>> >>>>>>>>>> to
>> >>>>>>>>>> get
>> >>>>>>>>>> a handle to it in 2 places:
>> >>>>>>>>>> 1. at signup so i can persist the hashed password using the
>> >>>>>>>>>> identical
>> >>>>>>>>>> hashing mechanism
>> >>>>>>>>>> 2. in a database upgrade step so i can convert clear-text
>> >>>>>>>>>> passwords
>> >>>>>>>>>> into
>> >>>>>>>>>> the
>> >>>>>>>>>> hashed version
>> >>>>>>>>>
>> >>>>>>>>> I think you should handle all of this as part of your realm
>> >>>>>>>>> implementation with a custom AccountInfo. Not difficult to
>> >>>>>>>>> implement
>> >>>>>>>>> but some amount of API learning to do. I've been fancying myself
>> >>>>>>>>> with
>> >>>>>>>>> the idea of creating a tapestry-security-hibernate module with
>> >>>>>>>>> prefabricated (JPA) entitities because it's just pointless to do
>> >>>>>>>>> the
>> >>>>>>>>> same for every little webapp separately.
>> >>>>>>>>>
>> >>>>>>>>>> Why and how should I implement
>> >>>>>>>>>> AuthorizingRealm.doGetAuthorizationInfo(PrincipalCollection
>> >>>>>>>>>> principals)
>> >>>>>>>>>> ?
>> >>>>>>>>>> When would it be called in my basic application?
>> >>>>>>>>>
>> >>>>>>>>> It'll be called right after doGetAuthentication() assuming it
>> >>>>>>>>> succeeds
>> >>>>>>>>> if your realm promises to authorize users as well. A simple
>> example
>> >>>>>>>>> is
>> >>>>>>>>> that you could have a realm just to authenticate users against
>> >>>>>>>>> Facebook, Google etc. while another realm would be responsible
>> for
>> >>>>>>>>> *authorizing* users using the permission information (roles etc)
>> >>>>>>>>> stored in the local database. Often for a simpler webapp, you
>> have
>> >>>>>>>>> just a single realm which does both authentication and
>> >>>>>>>>> authorization.
>> >>>>>>>>>
>> >>>>>>>>> Kalle
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>>> On 11/11/2010 2:29 AM, Kalle Korhonen wrote:
>> >>>>>>>>>>>
>> >>>>>>>>>>> Ah you are looking for documentation on Shiro. Maybe I can
>> place
>> >>>>>>>>>>> the
>> >>>>>>>>>>> links to it more prominently on tapestry-security page, but
>> see
>> >>>>>>>>>>> http://shiro.apache.org/core.html (there's more but for now
>> >>>>>>>>>>> Subject
>> >>>>>>>>>>> and Realms are the most relevant to you). If you want
>> examples,
>> >>>>>>>>>>> Christophe's hotel booking demo with Tynamo
>> >>>>>>>>>>>
>> >>>>>>>>>>> (
>> https://github.com/ccordenier/tapestry5-hotel-booking/tree/tynamo)
>> >>>>>>>>>>> is
>> >>>>>>>>>>> very nice.
>> >>>>>>>>>>>
>> >>>>>>>>>>> Kalle
>> >>>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> ---------------------------------------------------------------------
>> >>>>>>>>>> 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
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>
>> ---------------------------------------------------------------------
>> >>>>>>> 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
>> >>>>>
>> >>>>>
>> >>>> ---------------------------------------------------------------------
>> >>>> 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
>>
>>
>

Reply via email to