.net远程处理安全性问题 [英] .net remoting security problem

查看:70
本文介绍了.net远程处理安全性问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个应用程序,它们用于通讯低谷远程处理.当我尝试设置远程对象的属性时,出现以下异常并且不执行任何操作.请帮助

System.Runtime.Serialization.SerializationException:由于安全限制,无法访问类型System.Runtime.Remoting.ObjRef. ---> System.Security.SecurityException:请求失败.
在System.Runtime.Serialization.FormatterServices.nativeGetSafeUninitializedObject(RuntimeType类型)
在System.Runtime.Serialization.FormatterServices.GetSafeUninitializedObject(类型类型)
失败的操作是:
需求
失败的第一个权限的类型是:
System.Security.Permissions.SecurityPermission
失败的第一个权限是:
< IPermission class ="系统.Security.Permissions.SecurityPermission,mscorlib,版本= 2.0.0.0,区域性=中性,PublicKeyToken = b77a5c561934e089"
version =" 1"
Flags =" Infrastructure"/

需求是:
< PermissionSet class ="System.Security.PermissionSet"
version ="1">
< IPermission class ="System.Security.Permissions.SecurityPermission, mscorlib,版本= 2.0.0.0,区域性=中性,PublicKeyToken = b77a5c561934e089"
version =" 1"
Flags =" Infrastructure&q uot;/>
</PermissionSet>

仅允许的权限是: >
IPermission class ="System.Security.Permissions.SecurityPermission,mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089"
version ="1"
Flags = " SerializationFormatter"/></PermissionSet>


客户端代码:

ChannelServices.RegisterChannel(new IpcClientChannel(),false);
Manager manager =(Manager)Activator.GetObject(typeof(Manager),"ipc://channelname/Services");
manager.AddService(new ServiceProcess(new Setting("service",Setting.Status.Started, Setting.StartupType.Automatic,30,"db conn"))));服务器代码:

IpcServerChannel ipc = new IpcServerChannel("channelname");
ChannelServices. RegisterChannel(ipc,false);
RemotingConfiguration.RegisterWellKnownServic eType(typeof(Manager),"Services",WellKnownObjectMode.Singleton);
RemotingServices.Marshal(RemoteManager,"Services",typeof(Manager));

I have two applications which communicates trough remoting. when I try to set a property of a remote object a get the following exception and donno what to do. please help

System.Runtime.Serialization.SerializationException: Because of security restrictions, the type System.Runtime.Remoting.ObjRef cannot be accessed. ---> System.Security.SecurityException: Request failed.
at System.Runtime.Serialization.FormatterServices.nativeGetSafeUninitializedObject(RuntimeType type)
at System.Runtime.Serialization.FormatterServices.GetSafeUninitializedObject(Type type)
The action that failed was:
Demand
The type of the first permission that failed was:
System.Security.Permissions.SecurityPermission
The first permission that failed was:
<IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Flags="Infrastructure"/>

The demand was for:
<PermissionSet class="System.Security.PermissionSet"
version="1">
<IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Flags="Infrastructure"/>
</PermissionSet>

The only permitted permissions were:
<PermissionSet class="System.Security.PermissionSet"
version="1">
<IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Flags="SerializationFormatter"/>
</PermissionSet>


the client code:

ChannelServices.RegisterChannel(new IpcClientChannel(), false);
Manager manager = (Manager)Activator.GetObject(typeof(Manager), "ipc://channelname/Services");
manager.AddService(new ServiceProcess(new Setting("service", Setting.Status.Started, Setting.StartupType.Automatic, 30, "db conn")));

the server code:

IpcServerChannel ipc = new IpcServerChannel("channelname");
ChannelServices.RegisterChannel(ipc, false);
RemotingConfiguration.RegisterWellKnownServiceType(typeof(Manager), "Services", WellKnownObjectMode.Singleton);
RemotingServices.Marshal(RemoteManager, "Services", typeof(Manager));

推荐答案

你好,Erno ,

MSDN 论坛首页> .NET开发> .NET远程处理和运行时序列化位于此处: http://social.msdn.microsoft.com/Forums/zh-CN/netfxremoting/threads/.

Thank you for your post!  I would suggest posting your question in one of the MSDN > Forums Home > .NET Development > .NET Remoting and Runtime Serialization located here:  http://social.msdn.microsoft.com/Forums/en-US/netfxremoting/threads/.


这篇关于.net远程处理安全性问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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