适用于Apache Ignite的自定义安全插件 [英] Custom Security Plugin for Apache Ignite

查看:103
本文介绍了适用于Apache Ignite的自定义安全插件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将Apache Ignite用作内存数据库.
为了启用安全性,我通过以下链接 http:创建了自己的安全性插件://smartkey.co.uk/development/securing-an-apache-ignite-cluster/

I am trying to use Apache Ignite as in-memory database.
To enable the security, I created own security plugin by following link http://smartkey.co.uk/development/securing-an-apache-ignite-cluster/

public class IgniteSecurityConfiguration implements PluginConfiguration{
        public class<? extends PluginProvider> providerClass(){
          return IgniteSecurityProvider.class;
        }
    }
public class IgniteSecurityProvider implements PluginProvider{
    @Override
    public IgnitePlugin plugin(){
      return new CASCachePlugin();
    }
} 

    public Object createComponent(PluginContext pluginContext, Class aClass){
       if(aClass.isAssignableFrom(GridSecuriytProcessor.class)){
       return new PasswordSecurityProcessor();
    } else {return null;}
   }

public class PasswordSecurityProcessor implements GridSecurityProcessor,IgnitePlugin
{
@Override
public SecurityContext authenticateNode(ClusterNode clusterNode, SecurityCredentials securityCredentials){
   return new SecurityContext(){
         public SecuritySubject subject(){
           return new SecuritySubjext(){
             //implement methods
           };
         }
        //other implementation methods
    };
}

在我使用examples/config/example-ignite.xml开始点火时获取异常

getting exception when I am starting ignite using examples/config/example-ignite.xml

由以下原因引起:类org.apache.ignite.IgniteCheckedException:无法启动SPI:TcpDiscoverySpi
在org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:300)
...
...
原因:类org.apache.ignite.spi.IgniteSpiException:无法验证本地节点(将关闭本地节点).
在org.apache.ignite.spi.discovery.tcp.ServerImpl.localAuthentication(ServerImpl.java:975)
在org.apache.ignite.spi.discovery.tcp.ServerImpl.joinTopology(ServerImpl.java:863)
.....
由类org.apache.ignite.IgniteCheckedException导致:无法序列化objext:com.x.x.x.PasswordSecurityProcessor
在org.apache.ignite.marshaller.jdk.JdkMarshller.marshl0(JDkMarahsller.java:85)

Caused by: class org.apache.ignite.IgniteCheckedException: Failed to start SPI: TcpDiscoverySpi
at org.apache.ignite.internal.managers.GridManagerAdapter.startSpi (GridManagerAdapter.java:300)
...
...
Caused by: class org.apache.ignite.spi.IgniteSpiException: Failed to authenticate local node( will shutdown local node).
at org.apache.ignite.spi.discovery.tcp.ServerImpl.localAuthentication(ServerImpl.java:975)
at org.apache.ignite.spi.discovery.tcp.ServerImpl.joinTopology(ServerImpl.java:863)
.....
Cuased by class org.apache.ignite.IgniteCheckedException: Failed to serialize objext: com.x.x.x.PasswordSecurityProcessor
at org.apache.ignite.marshaller.jdk.JdkMarshller.marshl0(JDkMarahsller.java:85)

对我所缺少的东西有任何想法吗?尝试使用PasswordSecurityProcessor类来实现Serializable,但仍无济于事.

Any idea on what I am missing? Tried the PasswordSecurityProcessor class to implement Serializable but still it did not help.

推荐答案

Ignite不提供开箱即用的安全功能,您需要为此实现一个插件.这是一个很好的博客,您可以作为示例: http://smartkey.co.uk/development/securing-an-apache-ignite-cluster/

Ignite does not provide security capabilities out of the box, you need to implement a plugin for this. Here is a good blog about this that you can use as an example: http://smartkey.co.uk/development/securing-an-apache-ignite-cluster/

要获得安全支持,您需要查看基于Ignite构建的商业产品: https://docs.gridgain.com/docs/security-and-audit

To get the security support you need to look at commercial products built on top of Ignite: https://docs.gridgain.com/docs/security-and-audit

这篇关于适用于Apache Ignite的自定义安全插件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆