单声道和应用程序域安全/权限集
问题描述:
我试图了解AppDomains和安全策略,但是我遇到了问题。单声道和应用程序域安全/权限集
单声道似乎不服从我的权限,我正在尝试沙箱AppDomain。
使用.NET它就像预期的那样运行 - 由于我完全没有设置权限,因此我得到安全权限错误。
在单声道它不会这样做。我尝试了Mono-2.6和Mono-2.10.8,单声道只是运行程序而没有任何错误。
C#代码,我使用.NET和单声道:
namespace AppDomainTest
{
class Program
{
private static AppDomain _domain;
static void Main(string[] args)
{
AppDomainSetup info = new AppDomainSetup
{
ApplicationName = "AppDomainTest",
ApplicationBase = Environment.CurrentDirectory,
};
PermissionSet permSet = new PermissionSet(PermissionState.None);
//permSet.AddPermission(new SecurityPermission(SecurityPermissionFlag.Execution));
// permSet.AddPermission(new FileIOPermission(PermissionState.Unrestricted));
_domain = AppDomain.CreateDomain("TestDomain", null, info, permSet);
TestObj o = (TestObj)_domain.CreateInstanceAndUnwrap(typeof(TestObj).Assembly.FullName, "AppDomainTest.TestObj");
Console.WriteLine(o.GetDomainName());
}
}
public class TestObj : MarshalByRefObject
{
public string GetDomainName()
{
return AppDomain.CurrentDomain.FriendlyName;
}
}
}
是有什么内在的错误我在这里做什么?
答
单没有实现代码访问安全性充分,
http://www.mono-project.com/Todo
http://tirania.org/blog/archive/2012/Apr-04.html
所以,你不应该指望它像.NET在这方面。
单声道沙盒代码有替代吗? – 2012-04-24 17:18:06
你可以写邮件列表吗? http://www.mono-project.com/Support – 2012-04-25 00:04:01