Page nur fuer den angemeldeten User erreichbar ? = page only for users they have logged in
2008/2/11, Dapeng <[EMAIL PROTECTED]>: > > neat > > > > except there are some comments that i can't read ... > > =) > > Sven Homburg wrote: > > i think this is they way you need: > > > > @InjectPage(value = "Login") > > private ILoginPage _loginPage; > > > > /** > > * check for user is authentificated if requested page implements > > IRestrictedPage. > > * > > * @return > > */ > > @OnEvent(value = "activate") > > Object checkPageAccessPermission() > > { > > // > > // Page nur fuer den angemeldeten User erreichbar ? > > // > > if (this instanceof IRestrictedPage) > > { > > if (!isLoggedIn()) > > return _loginPage; > > } > > > > return null; > > } > > > > > > 2008/2/11, Travis McLeskey <[EMAIL PROTECTED]>: > > > >> Unfortunately, for me, returning false produced this nasty-looking > >> stack trace: > >> > >> [ERROR] > >> org.apache.tapestry.internal.services.DefaultRequestExceptionHandler > >> Processing of request failed with uncaught exception: Page Start did > >> not generate any markup when rendered. This could be because its > >> template file could not be located, or because a render phase method > >> in the page prevented rendering. > >> java.lang.RuntimeException: Page Start did not generate any markup > >> when rendered. This could be because its template file could not be > >> located, or because a render phase method in the page prevented > >> rendering. > >> at > >> org > >> .apache > >> .tapestry > >> .internal > >> .services > >> .PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java > :58) > >> at > >> $ > >> PageMarkupRenderer_11806dbfeb2 > >> .renderPageMarkup($PageMarkupRenderer_11806dbfeb2.java) > >> at > >> org > >> .apache > >> .tapestry > >> .internal > >> .services > >> .PageResponseRendererImpl > >> .renderPageResponse(PageResponseRendererImpl.java:56) > >> . > >> . > >> . > >> > >> I don't understand, but I think I'll just return void from the method > >> instead. > >> > >> Travis > >> > >> > >> On Feb 10, 2008, at 9:54 PM, Dapeng wrote: > >> > >> > >>> besides the similarity > >>> > >>> i guess ur beginRender should return false for redirect > >>> > >>> refering to the state diagram > >>> > >>> http://tapestry.apache.org/tapestry5/tapestry-core/guide/ > >>> rendering.html > >>> > >>> > >>> Travis McLeskey wrote: > >>> > >>>> Ah, thanks, that works for me. Here's what I did: > >>>> > >>>> @Inject > >>>> private Response response; > >>>> > >>>> @Inject > >>>> private LinkFactory linkFactory; > >>>> > >>>> public Object beginRender() throws IOException { > >>>> if( isLoginNeeded() ) > >>>> > >>>> response.sendRedirect( linkFactory.createPageLink("Login", true) ); > >>>> return true; > >>>> } > >>>> > >>>> I wish there were a cleaner way, but that'll do. > >>>> > >>>> Thanks, > >>>> Travis > >>>> > >>>> > >>>> > >>>> On Feb 10, 2008, at 9:06 PM, Dapeng wrote: > >>>> > >>>> > >>>>> what i am doing is > >>>>> > >>>>> @Inject > >>>>> private Response response; > >>>>> > >>>>> boolean beginRender(){ > >>>>> > >>>>> if( isRedirectNeeded() ) { > >>>>> try { response.sendRedirect("") } catch (Exception e) {} > >>>>> return false; > >>>>> } > >>>>> > >>>>> } > >>>>> > >>>>> > >>>>> > >>>>> Travis McLeskey wrote: > >>>>> > >>>>>> In a page, you can listen for the "activate" event and, for > >>>>>> example, if the user doesn't have permission to view that page, > >>>>>> you can return a value (Page, Class, String, etc.) that triggers > >>>>>> a redirect to another page. > >>>>>> > >>>>>> Is it possible to do the same when a component is loading/ > >>>>>> rendering? Components don't receive the "activate" event, and I > >>>>>> haven't had any luck returning a page object from setupRender() > >>>>>> and beginRender(). > >>>>>> > >>>>>> Thanks, > >>>>>> Travis > >>>>>> > >>>>>> > >>>>>> > --------------------------------------------------------------------- > >>>>>> 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] > >>> > >>> > >> --------------------------------------------------------------------- > >> 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] > > -- with regards Sven Homburg