2016-01-06 34 views
0

我使用Apache的骆驼,我想实例化blueprint.xml Java类的Xml - 比恩构造

这是类的构造函数:

public class ShiroSecurityPolicy implements AuthorizationPolicy { 
      private static final Logger LOG = LoggerFactory.getLogger(ShiroSecurityPolicy.class); 
     private final byte[] bits128 = { 
      (byte) 0x08, (byte) 0x09, (byte) 0x0A, (byte) 0x0B, 
      (byte) 0x0C, (byte) 0x0D, (byte) 0x0E, (byte) 0x0F, 
      (byte) 0x10, (byte) 0x11, (byte) 0x12, (byte) 0x13, 
      (byte) 0x14, (byte) 0x15, (byte) 0x16, (byte) 0x17}; 
     private CipherService cipherService; 
     private byte[] passPhrase; 
     private SecurityManager securityManager; 
     private List<Permission> permissionsList; 
     private boolean alwaysReauthenticate; 
     private boolean base64; 

    public ShiroSecurityPolicy(String iniResourcePath, byte[] passPhrase, boolean alwaysReauthenticate, List<Permission> permissionsList) 
       { 
        this(iniResourcePath, passPhrase, alwaysReauthenticate); 
        this.setPermissionsList(permissionsList); 

       } 
        ........ 

我如何实例化它的蓝图.xml?

这是我做过什么:

<bean id="shiroPolicy" class="org.apache.camel.component.shiro.security.ShiroSecurityPolicy"> 
     <argument value="shiro.ini"/> 
      ... 
</bean> 

但我把对的密码(这是一个阵列)和PERMISSIONSLIST的权限(这是一个List)的说法?

回答

1

列表:

阵:

<argument> 
     <array> 
      <value>item1</value> 
      <value>item2</value> 
      <value>item3</value> 
     </array> 
    </argument> 

您可以使用构造public ShiroSecurityPolicy(String iniResourcePath)和注入的密码和似PERMISSIONSLIST bean的属性。

如果我没有记错的话,可以PERMISSIONSLIST被在ini文件中规定:http://shiro.apache.org/configuration.html

更新:

尝试设置权限列表喜欢这里:

<argument> 
     <list> 
      <bean class="org.apache.shiro.authz.permission.WildcardPermission"> 
       <argument value="zone1"/> 
      </bean> 
     </list> 
    </argument> 
+0

谢谢您的答复。要创建shiro权限列表,我们使用以下代码:'List permissionsList = new ArrayList (); 权限权限=新的WildcardPermission(“zone1”); permissionsList.add(permission);'我如何在ShiroSecurityPolicy构造函数中调用WildcardPermission(“zone1”)? – zied123456

+0

它完美的作品!非常感谢 ! – zied123456