myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gerhard Petracek <gerhard.petra...@gmail.com>
Subject Re: @Secured and Stereotypes
Date Sat, 21 Apr 2012 13:00:25 GMT
hi jose,

i tested it with weld (via glassfish 3.1.2 and as7) and it works without an
issue.

since you haven't listed it:
with weld you have to configure the security-interceptor in your
application explicitly.
-> within the beans-tag in your beans.xml you have to add:

<interceptors>

<class>org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityInterceptor</class>
</interceptors>

regards,
gerhard

http://www.irian.at

Your JSF/JavaEE powerhouse -
JavaEE Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces



2012/4/20 Gerhard Petracek <gerhard.petracek@gmail.com>

> hi jose,
>
> i've tested it with owb. i'll test if there is a bug in weld which blocks
> this feature.
>
> regards,
> gerhard
>
> http://www.irian.at
>
> Your JSF/JavaEE powerhouse -
> JavaEE Consulting, Development and
> Courses in English and German
>
> Professional Support for Apache MyFaces
>
>
>
> 2012/4/20 José Luis Cetina <maxtorzito@gmail.com>
>
>> This example doesnt work for me too:
>>
>>  https://issues.apache.org/jira/browse/EXTCDI-262
>>
>>
>>
>> El 20 de abril de 2012 09:57, José Luis Cetina <maxtorzito@gmail.com
>> >escribió:
>>
>> > This dont work for me, here are my small test:
>> >
>> > *//DECISION VOTER*
>> > import java.util.Set;
>> > import javax.interceptor.InvocationContext;
>> > import
>> >
>> org.apache.myfaces.extensions.cdi.core.api.security.AbstractAccessDecisionVoter;
>> > import
>> > org.apache.myfaces.extensions.cdi.core.api.security.AccessDecisionVoter;
>> > import
>> > org.apache.myfaces.extensions.cdi.core.api.security.SecurityViolation;
>> >
>> > @javax.enterprise.context.ApplicationScoped
>> > public class PermissionAccessDecisionVoter extends
>> > AbstractAccessDecisionVoter implements AccessDecisionVoter{
>> >
>> >     @Override
>> >     protected void checkPermission(InvocationContext ic,
>> > Set<SecurityViolation> violations) {
>> >         System.out.println("verifying ..........");
>> >     }
>> > }
>> >
>> ---------------------------------------------------------------------------------------------------------------------------------------
>> >
>> > *//Interface for annotation*
>> >
>> > import java.lang.annotation.ElementType;
>> > import java.lang.annotation.Retention;
>> > import java.lang.annotation.RetentionPolicy;
>> > import java.lang.annotation.Target;
>> > import javax.enterprise.inject.Stereotype;
>> > import org.apache.myfaces.extensions.cdi.core.api.security.Secured;
>> >
>> > @Stereotype
>> > @Target(value = {ElementType.METHOD, ElementType.FIELD,
>> ElementType.TYPE})
>> > @Retention(value = RetentionPolicy.RUNTIME)
>> > @Secured(PermissionAccessDecisionVoter.class)
>> > public @interface ModuloPantallaBinding {
>> >
>> > }
>> >
>> >
>> ---------------------------------------------------------------------------------------------------------------------------------------
>> > *//ViewConfig*
>> > import
>> org.apache.myfaces.extensions.cdi.core.api.config.view.ViewConfig;
>> > import org.apache.myfaces.extensions.cdi.jsf.api.config.view.Page;
>> >
>> > @Page(navigation = Page.NavigationMode.REDIRECT)
>> > public class Index implements ViewConfig{
>> >
>> > }
>> >
>> ---------------------------------------------------------------------------------------------------------------------------------------
>> >
>> > *//BEAN*
>> > import java.io.Serializable;
>> > import javax.faces.application.FacesMessage;
>> > import javax.faces.context.FacesContext;
>> > import javax.faces.event.ActionEvent;
>> > import javax.inject.Named;
>> > import org.apache.myfaces.extensions.cdi.core.api.config.view.View;
>> > import
>> >
>> org.apache.myfaces.extensions.cdi.core.api.scope.conversation.ViewAccessScoped;
>> > import org.apache.myfaces.extensions.cdi.jsf.api.config.view.InitView;
>> >
>> > @Named
>> > @View(Index.class)
>> > @ViewAccessScoped
>> > @ModuloPantallaBinding
>> > public class MyBean implements Serializable{
>> >
>> >     @InitView
>> >     public void init(){
>> >         System.out.println("init method");
>> >     }
>> >
>> >     public void test(ActionEvent e){
>> >         FacesContext.getCurrentInstance().addMessage(null, new
>> > FacesMessage(FacesMessage.SEVERITY_INFO, "msg", "msg detail"));
>> >     }
>> > }
>> >
>> >
>> ---------------------------------------------------------------------------------------------------------------------------------------
>> >
>> >
>> > *//XHTML*
>> > I Have only a commandbutton in a form:
>> >
>> > <p:commandButton value="Test" update="public_messages"
>> > actionListener="#{myBean.test}" />
>> >
>> >
>> >
>> >
>> ---------------------------------------------------------------------------------------------------------------------------------------
>> >
>> > *//LOG*
>> > Información:
>> >
>> org.apache.myfaces.extensions.cdi.core.impl.provider.DefaultServiceProvider
>> > installed successfully.
>> > Información:
>> >
>> org.apache.myfaces.extensions.cdi.core.impl.provider.DefaultServiceProviderContext
>> > installed successfully.
>> > Información: Computed the following CODI ProjectStage: Production
>> > Información: abc.Index will be used as page-definition.
>> > Información: abc.MyBean will be used as page-bean.
>> > Información: Initializing Mojarra 2.1.6 (SNAPSHOT 20111206) for context
>> > '/WebApplication2'
>> > Información: [Started] MyFaces CODI (Extensions CDI) alternative config
>> >
>> org.apache.myfaces.extensions.cdi.core.alternative.config.AlternativeCodiCoreConfig
>> > is active (v1.0.4)
>> >
>> > Información: [Started] MyFaces CODI (Extensions CDI) alternative config
>> >
>> org.apache.myfaces.extensions.cdi.jsf.alternative.config.AlternativeJsfModuleConfig
>> > is active (v1.0.4)
>> >
>> > Información: Running on PrimeFaces 3.2
>> > Información: WEB0671: Loading application [WebApplication2] at
>> > [/WebApplication2]
>> > Información: WebApplication2 was successfully deployed in 11,853
>> > milliseconds.
>> > Información: WEB0169: Created HTTP listener [http-listener-2] on
>> host/port
>> > [0.0.0.0:8181]
>> > Información: Grizzly Framework 1.9.46 started in: 69ms - bound to [
>> > 0.0.0.0:8181]
>> > Información: [Started] MyFaces CODI (Extensions CDI) alternative config
>> >
>> org.apache.myfaces.extensions.cdi.core.alternative.scope.conversation.config.AlternativeWindowContextConfig
>> > is active (v1.0.4)
>> >
>> > Información: [Started] MyFaces CODI (Extensions CDI) alternative config
>> >
>> org.apache.myfaces.extensions.cdi.core.alternative.scope.conversation.config.AlternativeConversationConfig
>> > is active (v1.0.4)
>> >
>> > Información: [Started] MyFaces CODI JSF-Module v1.0.4 for JSF 2.0
>> > Used JSF implementation: Mojarra v2.1.6-SNAPSHOT
>> > config implementation:
>> >
>> org.apache.myfaces.extensions.cdi.jsf.alternative.config.AlternativeJsfModuleConfig$Proxy$_$$_WeldClientProxy
>> > config implementation:
>> >
>> org.apache.myfaces.extensions.cdi.jsf.alternative.config.AlternativeJsfModuleConfig
>> > config implementation:
>> > org.apache.myfaces.extensions.cdi.jsf.api.config.JsfModuleConfig
>> >    method: isInvalidValueAwareMessageInterpolatorEnabled
>> >    value: true
>> >    method: isUseViewConfigsAsNavigationCasesEnabled
>> >    value: true
>> >    method: isInitialRedirectEnabled
>> >    value: true
>> >    method: isAlwaysKeepMessages
>> >    value: true
>> > config implementation:
>> >
>> org.apache.myfaces.extensions.cdi.core.alternative.scope.conversation.config.AlternativeWindowContextConfig$Proxy$_$$_WeldClientProxy
>> > config implementation:
>> >
>> org.apache.myfaces.extensions.cdi.core.alternative.scope.conversation.config.AlternativeWindowContextConfig
>> > config implementation:
>> >
>> org.apache.myfaces.extensions.cdi.core.api.scope.conversation.config.WindowContextConfig
>> >    method: isAddWindowIdToActionUrlsEnabled
>> >    value: false
>> >    method: getWindowContextTimeoutInMinutes
>> >    value: 60
>> >    method: isCloseEmptyWindowContextsEnabled
>> >    value: false
>> >    method: isEagerWindowContextDetectionEnabled
>> >    value: true
>> >    method: isCreateWindowContextEventEnabled
>> >    value: false
>> >    method: isCloseWindowContextEventEnabled
>> >    value: false
>> >    method: isUrlParameterSupported
>> >    value: true
>> >    method: isUnknownWindowIdsAllowed
>> >    value: false
>> >    method: getMaxWindowContextCount
>> >    value: 64
>> > config implementation:
>> >
>> org.apache.myfaces.extensions.cdi.core.alternative.scope.conversation.config.AlternativeConversationConfig$Proxy$_$$_WeldClientProxy
>> > config implementation:
>> >
>> org.apache.myfaces.extensions.cdi.core.alternative.scope.conversation.config.AlternativeConversationConfig
>> > config implementation:
>> >
>> org.apache.myfaces.extensions.cdi.core.api.scope.conversation.config.ConversationConfig
>> >    method: isConversationRequiredEnabled
>> >    value: true
>> >    method: isRestartConversationEventEnabled
>> >    value: false
>> >    method: isCloseConversationEventEnabled
>> >    value: false
>> >    method: isStartConversationEventEnabled
>> >    value: false
>> >    method: getConversationTimeoutInMinutes
>> >    value: 30
>> >    method: isScopeBeanEventEnabled
>> >    value: false
>> >    method: isAccessBeanEventEnabled
>> >    value: false
>> >    method: isUnscopeBeanEventEnabled
>> >    value: false
>> > MessageContextConfig class:
>> >
>> org.apache.myfaces.extensions.cdi.message.impl.DefaultMessageContextConfig
>> >    MessageInterpolator class: class
>> >
>> org.apache.myfaces.extensions.cdi.jsf.impl.message.FacesMessageInterpolator
>> >    MessageResolver class: class
>> >
>> org.apache.myfaces.extensions.cdi.jsf.impl.message.JsfAwareApplicationMessagesMessageResolver
>> >    MessageHandler class: class
>> >
>> org.apache.myfaces.extensions.cdi.jsf.impl.message.JsfAwareMessageHandler
>> >    LocaleResolver class: class
>> >
>> org.apache.myfaces.extensions.cdi.jsf.impl.message.JsfAwareLocaleResolver
>> >    FormatterFactory class: class
>> > org.apache.myfaces.extensions.cdi.message.impl.DefaultFormatterFactory
>> >
>> > Información: [Started] MyFaces CODI JPA-Module v1.0.4
>> >
>> > Información: [Started] MyFaces CODI (Extensions CDI) Core v1.0.4
>> > Used CDI implementation: Weld v20111122-2001
>> > project-stage: Production
>> > project-stage class:
>> >
>> org.apache.myfaces.extensions.cdi.core.api.projectstage.ProjectStage$Production
>> > application-parameters:
>> >    name: com.sun.faces.forceLoadConfiguration
>> >    value: true
>> >    name: com.sun.faces.validateXml
>> >    value: true
>> >    name: javax.faces.PROJECT_STAGE
>> >    value: Development
>> > config implementation:
>> >
>> org.apache.myfaces.extensions.cdi.core.alternative.config.AlternativeCodiCoreConfig$Proxy$_$$_WeldClientProxy
>> > config implementation:
>> >
>> org.apache.myfaces.extensions.cdi.core.alternative.config.AlternativeCodiCoreConfig
>> > config implementation:
>> > org.apache.myfaces.extensions.cdi.core.api.config.CodiCoreConfig
>> >    method: isAdvancedQualifierRequiredForDependencyInjection
>> >    value: true
>> >    method: isConfigurationLoggingEnabled
>> >    value: true
>> >    method: isInvalidBeanCreationEventEnabled
>> >    value: false
>> >
>> > Advertencia: The value of the JSF 2 project stage (Development) is
>> > different from the CODI project stage (Production)
>> > Información: [Started] MyFaces CODI Scripting-Module v1.0.4
>> >
>> > Información: [Started] MyFaces CODI Bean-Validation-Module v1.0.4
>> > *Información: init method*
>> >
>> >
>> >
>> > As you can see in the last line of log file the init method call correct
>> > but the legen verifying.... never occur...
>> >
>> > BUT if i set the @Secure to the viewconfig it works (and removing the
>> > @ModuloPantallaBinding annotation from managedbean):
>> >
>> >
>> > *//ViewConfig with Secured annotation*
>> > import
>> org.apache.myfaces.extensions.cdi.core.api.config.view.ViewConfig;
>> > import org.apache.myfaces.extensions.cdi.core.api.security.Secured;
>> > import org.apache.myfaces.extensions.cdi.jsf.api.config.view.Page;
>> >
>> > @Page(navigation = Page.NavigationMode.REDIRECT)
>> > @Secured(PermissionAccessDecisionVoter.class)
>> > public class Index implements ViewConfig{
>> >
>> > }
>> >
>> >
>> ---------------------------------------------------------------------------------------------------------------------------------------
>> >
>> > *
>> > *
>> > *//LOG*
>> > Información:
>> >
>> org.apache.myfaces.extensions.cdi.core.impl.provider.DefaultServiceProvider
>> > installed successfully.
>> > Información:
>> >
>> org.apache.myfaces.extensions.cdi.core.impl.provider.DefaultServiceProviderContext
>> > installed successfully.
>> > Información: Computed the following CODI ProjectStage: Production
>> > Información: abc.Index will be used as page-definition.
>> > Información: abc.MyBean will be used as page-bean.
>> > Información: Initializing Mojarra 2.1.6 (SNAPSHOT 20111206) for context
>> > '/WebApplication2'
>> > Información: [Started] MyFaces CODI (Extensions CDI) alternative config
>> >
>> org.apache.myfaces.extensions.cdi.core.alternative.config.AlternativeCodiCoreConfig
>> > is active (v1.0.4)
>> >
>> > Información: [Started] MyFaces CODI (Extensions CDI) alternative config
>> >
>> org.apache.myfaces.extensions.cdi.jsf.alternative.config.AlternativeJsfModuleConfig
>> > is active (v1.0.4)
>> >
>> > Información: Running on PrimeFaces 3.2
>> > Información: WEB0671: Loading application [WebApplication2] at
>> > [/WebApplication2]
>> > Información: WebApplication2 was successfully deployed in 8,759
>> > milliseconds.
>> > Información:
>> >
>> org.apache.myfaces.extensions.cdi.core.impl.provider.DefaultServiceProvider
>> > installed successfully.
>> > Información:
>> >
>> org.apache.myfaces.extensions.cdi.core.impl.provider.DefaultServiceProviderContext
>> > installed successfully.
>> > Información: Computed the following CODI ProjectStage: Production
>> > Información: abc.Index will be used as page-definition.
>> > Información: abc.MyBean will be used as page-bean.
>> > Información: Initializing Mojarra 2.1.6 (SNAPSHOT 20111206) for context
>> > '/WebApplication2'
>> > Información: [Started] MyFaces CODI (Extensions CDI) alternative config
>> >
>> org.apache.myfaces.extensions.cdi.core.alternative.config.AlternativeCodiCoreConfig
>> > is active (v1.0.4)
>> >
>> > Información: [Started] MyFaces CODI (Extensions CDI) alternative config
>> >
>> org.apache.myfaces.extensions.cdi.jsf.alternative.config.AlternativeJsfModuleConfig
>> > is active (v1.0.4)
>> >
>> > Información: Running on PrimeFaces 3.2
>> > Información: WEB0671: Loading application [WebApplication2] at
>> > [/WebApplication2]
>> > Información: WebApplication2 was successfully deployed in 5,790
>> > milliseconds.
>> > Información: [Started] MyFaces CODI (Extensions CDI) alternative config
>> >
>> org.apache.myfaces.extensions.cdi.core.alternative.scope.conversation.config.AlternativeWindowContextConfig
>> > is active (v1.0.4)
>> >
>> > Información: [Started] MyFaces CODI (Extensions CDI) alternative config
>> >
>> org.apache.myfaces.extensions.cdi.core.alternative.scope.conversation.config.AlternativeConversationConfig
>> > is active (v1.0.4)
>> >
>> > Información: [Started] MyFaces CODI JSF-Module v1.0.4 for JSF 2.0
>> > Used JSF implementation: Mojarra v2.1.6-SNAPSHOT
>> > config implementation:
>> >
>> org.apache.myfaces.extensions.cdi.jsf.alternative.config.AlternativeJsfModuleConfig$Proxy$_$$_WeldClientProxy
>> > config implementation:
>> >
>> org.apache.myfaces.extensions.cdi.jsf.alternative.config.AlternativeJsfModuleConfig
>> > config implementation:
>> > org.apache.myfaces.extensions.cdi.jsf.api.config.JsfModuleConfig
>> >    method: isInvalidValueAwareMessageInterpolatorEnabled
>> >    value: true
>> >    method: isUseViewConfigsAsNavigationCasesEnabled
>> >    value: true
>> >    method: isInitialRedirectEnabled
>> >    value: true
>> >    method: isAlwaysKeepMessages
>> >    value: true
>> > config implementation:
>> >
>> org.apache.myfaces.extensions.cdi.core.alternative.scope.conversation.config.AlternativeWindowContextConfig$Proxy$_$$_WeldClientProxy
>> > config implementation:
>> >
>> org.apache.myfaces.extensions.cdi.core.alternative.scope.conversation.config.AlternativeWindowContextConfig
>> > config implementation:
>> >
>> org.apache.myfaces.extensions.cdi.core.api.scope.conversation.config.WindowContextConfig
>> >    method: isAddWindowIdToActionUrlsEnabled
>> >    value: false
>> >    method: getWindowContextTimeoutInMinutes
>> >    value: 60
>> >    method: isCloseEmptyWindowContextsEnabled
>> >    value: false
>> >    method: isEagerWindowContextDetectionEnabled
>> >    value: true
>> >    method: isCreateWindowContextEventEnabled
>> >    value: false
>> >    method: isCloseWindowContextEventEnabled
>> >    value: false
>> >    method: isUrlParameterSupported
>> >    value: true
>> >    method: isUnknownWindowIdsAllowed
>> >    value: false
>> >    method: getMaxWindowContextCount
>> >    value: 64
>> > config implementation:
>> >
>> org.apache.myfaces.extensions.cdi.core.alternative.scope.conversation.config.AlternativeConversationConfig$Proxy$_$$_WeldClientProxy
>> > config implementation:
>> >
>> org.apache.myfaces.extensions.cdi.core.alternative.scope.conversation.config.AlternativeConversationConfig
>> > config implementation:
>> >
>> org.apache.myfaces.extensions.cdi.core.api.scope.conversation.config.ConversationConfig
>> >    method: isConversationRequiredEnabled
>> >    value: true
>> >    method: isRestartConversationEventEnabled
>> >    value: false
>> >    method: isCloseConversationEventEnabled
>> >    value: false
>> >    method: isStartConversationEventEnabled
>> >    value: false
>> >    method: getConversationTimeoutInMinutes
>> >    value: 30
>> >    method: isScopeBeanEventEnabled
>> >    value: false
>> >    method: isAccessBeanEventEnabled
>> >    value: false
>> >    method: isUnscopeBeanEventEnabled
>> >    value: false
>> > MessageContextConfig class:
>> >
>> org.apache.myfaces.extensions.cdi.message.impl.DefaultMessageContextConfig
>> >    MessageInterpolator class: class
>> >
>> org.apache.myfaces.extensions.cdi.jsf.impl.message.FacesMessageInterpolator
>> >    MessageResolver class: class
>> >
>> org.apache.myfaces.extensions.cdi.jsf.impl.message.JsfAwareApplicationMessagesMessageResolver
>> >    MessageHandler class: class
>> >
>> org.apache.myfaces.extensions.cdi.jsf.impl.message.JsfAwareMessageHandler
>> >    LocaleResolver class: class
>> >
>> org.apache.myfaces.extensions.cdi.jsf.impl.message.JsfAwareLocaleResolver
>> >    FormatterFactory class: class
>> > org.apache.myfaces.extensions.cdi.message.impl.DefaultFormatterFactory
>> >
>> > Información: [Started] MyFaces CODI JPA-Module v1.0.4
>> >
>> > Información: [Started] MyFaces CODI (Extensions CDI) Core v1.0.4
>> > Used CDI implementation: Weld v20111122-2001
>> > project-stage: Production
>> > project-stage class:
>> >
>> org.apache.myfaces.extensions.cdi.core.api.projectstage.ProjectStage$Production
>> > application-parameters:
>> >    name: com.sun.faces.forceLoadConfiguration
>> >    value: true
>> >    name: com.sun.faces.validateXml
>> >    value: true
>> >    name: javax.faces.PROJECT_STAGE
>> >    value: Development
>> > config implementation:
>> >
>> org.apache.myfaces.extensions.cdi.core.alternative.config.AlternativeCodiCoreConfig$Proxy$_$$_WeldClientProxy
>> > config implementation:
>> >
>> org.apache.myfaces.extensions.cdi.core.alternative.config.AlternativeCodiCoreConfig
>> > config implementation:
>> > org.apache.myfaces.extensions.cdi.core.api.config.CodiCoreConfig
>> >    method: isAdvancedQualifierRequiredForDependencyInjection
>> >    value: true
>> >    method: isConfigurationLoggingEnabled
>> >    value: true
>> >    method: isInvalidBeanCreationEventEnabled
>> >    value: false
>> >
>> > Advertencia: The value of the JSF 2 project stage (Development) is
>> > different from the CODI project stage (Production)
>> > Información: [Started] MyFaces CODI Scripting-Module v1.0.4
>> >
>> > Información: [Started] MyFaces CODI Bean-Validation-Module v1.0.4
>> > *Información: verifying ..........*
>> > *Información: verifying ..........*
>> > *Información: init method*
>> > *Información: verifying ..........*
>> > *Información: verifying ..........*
>> > *
>> > *
>> > *
>> > *
>> > *
>> > *
>> > *
>> > *
>> > *
>> > *
>> >
>> ---------------------------------------------------------------------------------------------------------------------------------------
>> >
>> > *
>> > *
>> > *
>> > *
>> > *Why? Thanks*
>> > *
>> > *
>> >
>> > 2012/4/19 Gerhard Petracek <gerhard.petracek@gmail.com>
>> >
>> >> hi jose,
>> >>
>> >> here it works without an issue -> please provide the codi startup-log
>> >> about
>> >> the configuration you are using.
>> >>
>> >> @ package:
>> >> please use: javax.enterprise.context
>> >>
>> >> regards,
>> >> gerhard
>> >>
>> >> http://www.irian.at
>> >>
>> >> Your JSF/JavaEE powerhouse -
>> >> JavaEE Consulting, Development and
>> >> Courses in English and German
>> >>
>> >> Professional Support for Apache MyFaces
>> >>
>> >>
>> >>
>> >> 2012/4/19 José Luis Cetina <maxtorzito@gmail.com>
>> >>
>> >> > Thanks Gerhard, but i have a problem.
>> >> > My checkpermision method never get called, i dont know why, i have
>> this:
>> >> >
>> >> > *//ANOTATION*
>> >> > @Stereotype
>> >> > @Target(value = {ElementType.METHOD, ElementType.FIELD,
>> >> ElementType.TYPE})
>> >> > @Retention(value = RetentionPolicy.RUNTIME)
>> >> > @Secured(PermissionAccessDecisionVoter.class)
>> >> > public @interface ModuloPantallaBinding {
>> >> >    ModulosPantallasEnum codigoModulo();
>> >> > }
>> >> >
>> >> > *//MANAGED BEAN*
>> >> > @Named
>> >> > @ViewAccessScoped
>> >> > @View(IInicio.SeleccionRoles.class)
>> >> >
>> >> >
>> >>
>> @ModuloPantallaBinding(codigoModulo=ModulosPantallasEnum.SELECCION_ROLES_INICIO)
>> >> > public class SeleccionRolesMBean implements Serializable {
>> >> > .
>> >> > .
>> >> > .
>> >> > }
>> >> >
>> >> > *//Secure class*
>> >> > import javax.faces.bean.ApplicationScoped;
>> >> > @ApplicationScoped
>> >> > public class PermissionAccessDecisionVoter extends
>> >> > AbstractAccessDecisionVoter implements AccessDecisionVoter{
>> >> > .
>> >> >
>> >> > protected void checkPermission(InvocationContext ic,
>> >> Set<SecurityViolation>
>> >> > violations) {
>> >> >  *ModuloPantallaBinding obj*=
>> >> > voterContext.getMetaDataFor(ModuloPantallaBinding.class.getName(),
>> >> > ModuloPantallaBinding.class);
>> >> >
>> >> >
>> >> > }
>> >> > .
>> >> > }
>> >> >
>> >> >
>> >> > is correct the package javax.faces.bean.ApplicationScoped
>> >> > for @ApplicationScoped or have to be:
>> >> > javax.enterprise.context.ApplicationScoped;???
>> >> >
>> >> > My checkPermission method never get called, but if i use the
>> anottation
>> >> > @Secure in my:
>> >> >    @Secured(PermissionAccessDecisionVoter.class)
>> >> >    public @Page(name="seleccion_roles") class SeleccionRoles
>> implements
>> >> > IInicio{}
>> >> >
>> >> > it works but the obj  always is null.
>> >> >
>> >> > Thanks
>> >> >
>> >> >
>> >> > 2012/4/19 Gerhard Petracek <gerhard.petracek@gmail.com>
>> >> >
>> >> > > hi jose,
>> >> > >
>> >> > > see the description at [1] - it will be added to the wiki soon.
>> >> > >
>> >> > > regards,
>> >> > > gerhard
>> >> > >
>> >> > > [1] https://issues.apache.org/jira/browse/EXTCDI-262
>> >> > >
>> >> > > http://www.irian.at
>> >> > >
>> >> > > Your JSF/JavaEE powerhouse -
>> >> > > JavaEE Consulting, Development and
>> >> > > Courses in English and German
>> >> > >
>> >> > > Professional Support for Apache MyFaces
>> >> > >
>> >> > >
>> >> > >
>> >> > > 2012/4/19 José Luis Cetina <maxtorzito@gmail.com>
>> >> > >
>> >> > > > Hello somebody know where i can find an example of
>> >> > > > @Secured and Stereotypes
>> >> > > >
>> >> > > > Im triying to work with @Secured and Stereotypes with metadata
>> but i
>> >> > have
>> >> > > > some doubts
>> >> > > >
>> >> > > >
>> >> > > > --
>> >> > > >
>> -------------------------------------------------------------------
>> >> > > > *SCJA. José Luis Cetina*
>> >> > > >
>> -------------------------------------------------------------------
>> >> > > >
>> >> > >
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > -------------------------------------------------------------------
>> >> > *SCJA. José Luis Cetina*
>> >> > -------------------------------------------------------------------
>> >> >
>> >>
>> >
>> >
>> >
>> > --
>> > -------------------------------------------------------------------
>> > *SCJA. José Luis Cetina*
>> > -------------------------------------------------------------------
>> >
>> >
>>
>>
>> --
>> -------------------------------------------------------------------
>> *SCJA. José Luis Cetina*
>> -------------------------------------------------------------------
>>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message