「ステートレス」EJb を DeltaSpike-API で保護したいと考えています。
@Stateless
@Remote(UserServiceRemote.class)
public class UserService implements UserServiceRemote
メソッドレベルでは、カスタム注釈「サポート」があります
@Support
public void doSomething() {}
したがって、カスタム注釈「@Support」を作成しました。
@Retention(value = RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE, ElementType.METHOD })
@Documented
@SecurityBindingType
public @interface Support {
私のカスタム Authorizer は次のようになります。
@Secures
@Support
public boolean doAdminCheck(Identity identity, IdentityManager identityManager, RelationshipManager relationshipManager)
throws Exception {
return hasRole(relationshipManager, identity.getAccount(), getRole(identityManager, "Support"));
}
私の「beans.xml」ファイルには、次のものが含まれていました。
<interceptors>
<class>org.apache.deltaspike.security.impl.extension.SecurityInterceptor</class>
</interceptors>
しかし、アプリケーションにログインし、リモート呼び出しごとに「doSomething」メソッドを呼び出した後、役割を持っているかどうかに関係なく、「Support」アノテーションは無視されます。
私が間違っていることは何ですか?すべての提案をありがとう!!!