Yep that way you can switch between an application scoped strategy (like wicket-auth-roles) and a session scoped strategy (like swarm) Anyway the default is for the session to ask the application to return the strategy.
On Wed, Apr 2, 2008 at 8:18 AM, Nino Saturnino Martinez Vazquez Wael <[EMAIL PROTECTED]> wrote: > Session could provide that too? Cool:) > > > > Maurice Marrink wrote: > > > Or Session. Session.getAuthorizationStrategy(). > > > > Maurice > > > > On Tue, Apr 1, 2008 at 8:51 PM, Nino Saturnino Martinez Vazquez Wael > > <[EMAIL PROTECTED]> wrote: > > > > > > > It's your webapplication that takes the ISecurityStrategy.. > > > > > > public class ZeuzGroupApplication extends WebApplication { > > > > > > private SpringComponentInjector springComponentInjector; > > > > > > @Override > > > protected void init() { > > > super.init(); > > > // getSecuritySettings().setAuthorizationStrategy( > > > // new RoleAuthorizationStrategy(new > UserRolesAuthorizer())); > > > getSecuritySettings().setAuthorizationStrategy( > > > new ZeuzSecurity(ZeuzAuthorizedPage.class, > > > LoginPage.class) { > > > @Override > > > protected boolean isAuthorized(Class pageClass) { > > > return (((ZeuzSession) > > > Session.get()).isAuthorized()); > > > } > > > }); > > > ... > > > > > > > > > > > > Bruce Petro wrote: > > > > Thanks to the replies I received... yeah I didn't say it well, but I > > > > assumed the user would be kept in the session and that seems to fit > > > > everyone's reply. On top of that, I think I'm hearing I can use > > > > inheritance and have every page utilize ISecurityStrategy to then > > > > control access to the page. > > > > > > > > I'll check into it and see if I've got that all correct. Thanks > again. > > > > > > > > > > > > -----Original Message----- > > > > From: Nino Saturnino Martinez Vazquez Wael > > > > [mailto:[EMAIL PROTECTED] > > > > Sent: Tuesday, April 01, 2008 1:49 PM > > > > To: users@wicket.apache.org > > > > Subject: Re: Question on page inheritance... > > > > > > > > True, as Igor wrote this is meant to be in conjuction with at > > > > ISecurityStrategy. > > > > > > > > Nino Saturnino Martinez Vazquez Wael wrote: > > > > > > > >> You could actually also do this another way... Im using markup > > > >> inheritance alot, but I stuff user object into the session like > this: > > > >> > > > >> See a nice view here: > > > >> http://papernapkin.org/pastebin/view/281/ > > > >> > > > >> package zeuzgroup.application; > > > >> > > > >> import javax.servlet.http.HttpSession; > > > >> > > > >> import org.apache.wicket.Application; > > > >> import org.apache.wicket.Request; > > > >> import org.apache.wicket.protocol.http.WebRequest; > > > >> import org.apache.wicket.protocol.http.WebSession; > > > >> > > > >> import zeuzgroup.core.Person; > > > >> import zeuzgroup.core.user.UserType; > > > >> > > > >> public class ZeuzSession extends WebSession { > > > >> > > > >> private boolean authorized = false; > > > >> > > > >> private Person person; > > > >> > > > >> private HttpSession httpSession; > > > >> > > > >> protected ZeuzSession(Application application, Request request) { > > > >> super(application, request); > > > >> httpSession = ((WebRequest) request).getHttpServletRequest() > > > >> .getSession(); > > > >> > > > >> } > > > >> > > > >> public boolean isAuthorized() { > > > >> return authorized; > > > >> } > > > >> > > > >> public void setAuthorized(boolean authorized) { > > > >> > > > >> this.authorized = authorized; > > > >> if (authorized) { > > > >> > > > >> httpSession.setAttribute("sso.password.attribute", person > > > >> .getPassword()); > > > >> httpSession.setAttribute("sso.email.attribute", > > > >> person.getEmail()); > > > >> httpSession.setAttribute("password", > person.getPassword()); > > > >> httpSession.setAttribute("email", person.getEmail()); > > > >> > > > >> } else { > > > >> httpSession.setAttribute("sso.password.attribute", null); > > > >> httpSession.setAttribute("sso.email.attribute", null); > > > >> } > > > >> } > > > >> > > > >> public Person getPerson() { > > > >> if (person != null) { > > > >> return person; > > > >> } else { > > > >> Person person = new Person(); > > > >> person.setUserType(UserType.Guest); > > > >> return person; > > > >> } > > > >> } > > > >> > > > >> public void setPerson(Person person) { > > > >> this.person = person; > > > >> } > > > >> > > > >> } > > > >> > > > >> > > > >> Bruce Petro wrote: > > > >> > > > >>> I'm just getting started in wicket, so forgive me if this is a > > > >>> > > > > too-dumb > > > > > > > >>> question... > > > >>> > > > >>> > > > >>> > > > >>> I know wicket can check the session for a user to ask a "user" > object > > > >>> > > > > if > > > > > > > >>> it is logged in. > > > >>> > > > >>> However, you don't really want to paste code on every page. > > > >>> > > > >>> What is the best way, to have each page inherit the base "security > > > >>> check" routine? > > > >>> > > > >>> > > > >>> > > > >>> Would you create a BasePage extends WebPage and put the logic there > > > >>> > > > > and > > > > > > > >>> have all other pages extend BasePage? > > > >>> > > > >>> Or would you attach some sort of a command object to each page and > > > >>> > > > > put > > > > > > > >>> the logic in that? > > > >>> > > > >>> > > > >>> > > > >>> Anyone have a reference to an example of code to do this? > > > >>> > > > >>> > > > >>> > > > >>> THANKS! > > > >>> > > > >>> > > > >>> > > > >>> > > > >>> > > > >>> > > > >>> > > > >>> > > > >>> > > > >>> > > > > > > > > > > > > > > -- > > > -Wicket for love > > > > > > Nino Martinez Wael > > > Java Specialist @ Jayway DK > > > http://www.jayway.dk > > > +45 2936 7684 > > > > > > > > > --------------------------------------------------------------------- > > > 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] > > > > > > > > > > -- > > -Wicket for love > > Nino Martinez Wael > Java Specialist @ Jayway DK > http://www.jayway.dk > +45 2936 7684 > > > --------------------------------------------------------------------- > 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]