This rule checks that all Use-Case implementation methods are annotated with a security constraint. Valid security constraint annotations are the following from the javax.annotation.security package:

Noncompliant Code Example

    public class TestInterfaceImpl implements TestInterface {

        @Override                                 
        public boolean testBoolMethod() {
            return true;
        }
    }

Compliant Solutions

    public class TestClassImpl implements TestClass {
    
        @Override
        @RolesAllowed(ApplicationAccessControlConfig.PERMISSION_SAVE_ENTITY)
        public void ucImplMethod() {
    
        }
    }

Note that while @DenyAll and @RolesAllowed are technically allowed, they should only be used in exceptional cases.