[jboss-user] [JBoss Seam] - Interceptor not working!
jbeaken
do-not-reply at jboss.com
Wed Oct 31 07:55:35 EDT 2007
Hi,
I've looked through the forum and found a few posts regarding interceptors, but none seam to help me with my problem, when the annotated method is called the @AroundInvoke method is not called.
Any ideas where I'm going wrong would be greatly appreciated
The annotation :
| package com.ricall.security;
|
| import java.lang.annotation.ElementType;
| import java.lang.annotation.Retention;
| import java.lang.annotation.RetentionPolicy;
| import java.lang.annotation.Target;
| import org.jboss.seam.annotations.Interceptors;
|
| @Target(ElementType.METHOD)
| @Retention(RetentionPolicy.RUNTIME)
| @Interceptors(com.ricall.security.SecurityManager.class)
| public @interface IsAuthorised {
|
| long securityRole();
| }
The interceptor
| package com.ricall.security;
|
| import javax.interceptor.AroundInvoke;
| import javax.interceptor.InvocationContext;
| import org.jboss.seam.ScopeType;
| import org.jboss.seam.annotations.In;
| import org.jboss.seam.annotations.Interceptor;
| import org.jboss.seam.annotations.Logger;
| import org.jboss.seam.annotations.Name;
| import org.jboss.seam.annotations.Out;
| import org.jboss.seam.annotations.Scope;
| import org.jboss.seam.log.Log;
| import com.ricall.domain.security.SecurityCredentials;
| import com.ricall.domain.subsite.Subsite;
| import com.ricall.domain.user.User;
| import com.ricall.exception.RicallException;
| import com.ricall.repository.security.SecurityCredentialsRepository;
| import com.ricall.repository.subsite.SubsiteRepository;
| import com.ricall.repository.user.UserRepository;
|
| @Name("securityManagerService")
| @Scope(ScopeType.APPLICATION)
| @Interceptor
| public class SecurityManager {
|
| @AroundInvoke
| public Object authorise(InvocationContext invocation) throws Exception {
| Object[] params = invocation.getParameters();
| if (params != null) {
| for (Object obj : params) {
|
| System.out.println(obj);
| }
| }
|
| throw new RicallSecurityException("cannot do this! hands off!");
| }
| etc....
| }
|
|
The annotated method
@Create
| @IsAuthorised(securityRole = SecurityManager.isAdmin)
| @Begin(join = true)
| public void create() {
| log.debug("In @Create, beginning conversation");
| userFolderSearchCriteria = new UserFolderSearchCriteria();
| }
I've also tried annotated non @Create methods
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4100599#4100599
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4100599
More information about the jboss-user
mailing list