spring整合rmi 如何使用安全策略

spring整合rmi后,想要使用安全策略,之后是自己写一个rmi.policy文件,里面写着授权哪些IP有哪些权限,但是我要怎么导入到spring中呢?这个问题真的木有... spring整合rmi 后,想要使用安全策略,之后是自己写一个rmi.policy文件,里面写着授权哪些IP有哪些权限,但是我要怎么导入到spring中呢?
这个问题真的木有人会吗?

我要限制连接RMI的IP,要如何限制,结合SPRING配置。如何弄?
100分啦!
展开
 我来答
超越灵界
2011-08-12 · TA获得超过1318个赞
知道小有建树答主
回答量:292
采纳率:0%
帮助的人:251万
展开全部
不用policy文件,用spring的interceptor试试:
<bean class="org.springframework.remoting.rmi.RmiServiceExporter">
<property name="serviceName" value="testService" />
<property name="service" ref="testService" />
<property name="serviceInterface" value="test.ITestService" />
<property name="registryPort" value="1199" />
<property name="interceptors">
<list><ref bean="securityInterceptor"/></list>
</property>
</bean>
<bean id="securityInterceptor" class="test.SecurityInterceptor">
<!-- 这里配置允许访问RMI的客户端IP地址 -->
<property name="allowed">
<set>
<value>192.168.0.1</value>
<value>192.168.0.2</value>
</set>
</property>
</bean>
----------------------------------------------------------------------------------------------
package test;

import java.rmi.server.RemoteServer;
import java.util.Set;

import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;

public class SecurityInterceptor implements MethodInterceptor {
private Set allowed;

public Object invoke(MethodInvocation methodInvocation) throws Throwable {
String clientHost = RemoteServer.getClientHost();
if (allowed != null && allowed.contains(clientHost)) {
return methodInvocation.proceed();
} else {
throw new SecurityException("非法访问。");
}
}

public void setAllowed(Set allowed) {
this.allowed = allowed;
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
浙江启扬智能科技有限公司
2023-06-12 广告
在嵌入式开发中,建立交叉开发环境可以提高开发效率和代码质量。以下是建立交叉开发环境的一些原因:1. 硬件资源限制:嵌入式系统的硬件资源,如处理器主频、内存容量等,相对于PC机来说较为有限。利用PC机进行开发可以利用更快的硬件设备,提高开发效... 点击进入详情页
本回答由浙江启扬智能科技有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式