Thanks, I'll see.

2011/8/15 ryannelsonaz <[email protected]>

> We're using the gwt-dispatch module (link below) to implement a
> command-pattern style RPC communication structure between the client and
> the
> server.  Essentially each "command" taken by the client is encapsulated in
> an Action class, which gets assigned to a corresponding ActionHandler.
>
> We have a Login action that gets sent to a LoginHandler where the current
> user is authenticated.  We then use annotations on the execute() method of
> the remaining handlers to do authorization.  For example, here's a little
> pseudo-code sample for a hypothetical "get list of bank accounts" request:
>
> public class LoginHandler {
>    public LoginResult execute( Login action ) {
>        Subject currentUser = SecurityUtils.getSubject();
>        currentUser.login( new UsernamePasswordToken( action.getUsername(),
> action.getPassword() ) );
>
>        return new LoginResult( ... );
>    }
> }
>
> public class GetBankAccountsHandler {
>
>    @RequiresPermissions("bankaccounts:read")
>    public GetBackAccountsResult execute( GetBackAccounts action ) {
>                ...
>    }
> }
>
> We have a LogoutHandler as well which simply invokes Shiro's logout()
> method.  Hope that helps you with some ideas.
>
> I don't know if I'd recommend having an RPC call on each presenter--you'll
> have to decide based on your architecture whether or not that would be too
> chatty.  However, if you really want to enforce authorization in the
> client,
> that's really your only option.  (Until someone decides to port Shiro for
> GWT!)
>
> gwt-dispatch home: http://code.google.com/p/gwt-dispatch/
>
> --
> View this message in context:
> http://shiro-user.582556.n2.nabble.com/Guice-Shiro-GWT-tp6654452p6688447.html
> Sent from the Shiro User mailing list archive at Nabble.com.
>

Reply via email to