[jboss-user] [JBoss Seam] - @LoggedIn at the method level

monkeyden do-not-reply at jboss.com
Wed Feb 21 09:19:52 EST 2007


@LoggedIn in the docs is at the TYPE level.   Has anyone gotten it to work at the method level?  It doesnt seem to be intercepting the method call.  I'd like to allow the "list function" of a screen but not the edit function if the user is not logged in.

@Target(METHOD)
  | @Retention(RUNTIME)
  | @Interceptors(LoggedInInterceptor.class)
  | public @interface LoggedIn {}

@Stateful
  | @Name("safe")
  | @Scope(SESSION)
  | public class SafeAction implements Safe {
  |     @Logger
  |     private Log log;
  |     
  |     @LoggedIn
  |     public String pingMe(){
  |         log.debug("Pinging me");
  |         return "success";
  |     }
  |     
  |     public String pingMeToo(){
  |         log.debug("Pinging me too");
  |         return "home";
  |     }
  | 
  |     @Destroy @Remove
  |     public void destroy(){
  |         
  |     }
  | }

public class LoggedInInterceptor {
  | 
  |     @Logger
  |     private Log log;
  | 
  |     @AroundInvoke
  |     public Object checkLoggedIn(InvocationContext invocation) throws Exception {  
  |         boolean isLoggedIn = Contexts.getSessionContext().get("user")!=null;
  |         try {
  |             if (isLoggedIn) {
  |                 return invocation.proceed();
  |             } else {
  |                 throw new SecurityException();
  |             }
  |         } catch (SecurityException se) {
  |             log.debug("Login required");
  |             return "login";
  |         }
  |     }
  | }

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4019952#4019952

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4019952



More information about the jboss-user mailing list