[ https://issues.apache.org/jira/browse/ARIES-1316?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14624480#comment-14624480 ]
Pavel Alekhin edited comment on ARIES-1316 at 7/13/15 10:15 AM: ---------------------------------------------------------------- Two bundles here. Properties exports secured EchoService. Command imports it. https://issues.apache.org/jira/secure/attachment/12745017/command.zip was (Author: kuvalda): Two bundles here. Properties exports secured EchoService. Command imports it. > Problem with intercepting authorizing annotations of a class declared as an > interface > ------------------------------------------------------------------------------------- > > Key: ARIES-1316 > URL: https://issues.apache.org/jira/browse/ARIES-1316 > Project: Aries > Issue Type: Bug > Components: Blueprint > Affects Versions: blueprint-authz-1.0.0 > Reporter: Pavel Alekhin > Assignee: Christian Schneider > Priority: Minor > Attachments: command.zip, properties.zip > > > Using of interface variable causes empty roles' list error {color:red}Method > call interface EchoService.echo denied. Roles allowed are []{color}, when > interface doesn't have method authorizing annotations, while implementing > class has. > Code example: > {code:title=EchoService.java|borderStyle=solid} > public interface EchoService { > //@RolesAllowed("admin") > public String echo(String message); > } > {code} > {code:title=SimpleEchoService.java|borderStyle=solid} > public class SimpleEchoService implements EchoService { > @RolesAllowed("admin") > @Override > public String echo(String message) { > return message; > } > } > {code} > {code:title=EchoCommand.java|borderStyle=solid} > @Command(scope = "kb", name = "echo") > public class EchoCommand extends OsgiCommandSupport { > private EchoService echoService; > public EchoService getEchoService() { > return echoService; > } > public void setEchoService(EchoService echoService) { > this.echoService = echoService; > } > @Argument(index = 0, name = "message", required = true, multiValued = > false) > private String message; > @Override > protected Object doExecute() throws Exception { > return echoService.echo(message); > } > } > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)