Bloomberg .NET API CAS权限集

时间:2012-11-14 17:43:58

标签: c# security bloomberg

我正在开发一个使用Bloomberg API并通过其门户网站使用的应用程序。这是一个.NET4.0应用程序。它未通过安全验证,抛出了这样的异常:

System.Windows.Markup.XamlParseException occurred
  Message='Set connectionId threw an exception.' Line number '6' and line position '14'.
  Source=PresentationFramework
  LineNumber=6
  LinePosition=14
  StackTrace:
       at System.Windows.Markup.XamlReader.RewrapException(Exception e, IXamlLineInfo lineInfo, Uri baseUri)
       at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
       at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
       at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
       at System.Windows.Application.LoadComponent(Object component, Uri resourceLocator)
       at Application2.MainView.InitializeComponent()
       at Application2.MainView..ctor()
  InnerException: System.IO.FileLoadException
       Message=Could not load file or assembly 'MyCustomDll, Version=1.5.4700.39806, Culture=neutral, PublicKeyToken=b55dd9efe817e823' or one of its dependencies. Failed to grant minimum permission requests. (Exception from HRESULT: 0x80131417)
       Source=Application2
       FileName=MyCustomDll, Version=1.5.4700.39806, Culture=neutral, PublicKeyToken=b55dd9efe817e823
       StackTrace:
            at Application2.MainView.System.Windows.Markup.IComponentConnector.Connect(Int32 connectionId, Object target)
            at MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetConnectionId(Object root, Int32 connectionId, Object instance)
       InnerException: System.Security.Policy.PolicyException
            Message=Required permissions cannot be acquired.
            Source=mscorlib
            StackTrace:
                 at System.Security.SecurityManager.ResolvePolicy(Evidence evidence, PermissionSet reqdPset, PermissionSet optPset, PermissionSet denyPset, PermissionSet& denied, Boolean checkExecutionPermission)
                 at System.Security.SecurityManager.ResolveCasPolicy(Evidence evidence, PermissionSet reqdPset, PermissionSet optPset, PermissionSet denyPset, PermissionSet& denied, Int32& securitySpecialFlags, Boolean checkExecutionPermission)

在Bloomberg文件中,非常符合安全标准的指导原则,并说:

  

应用门户应用的允许CAS权限:
  1. IsolatedStorageFilePermission,Allowed =“AssemblyIsolationByUser”UserQuota =“2048000”
  2. SecurityPermission,Flags =“Execution,ControlThread,SerializationFormatter”
  3. UIPermission,Unrestricted =“true”
  4. MediaPermission,Audio =“NoAudio”Video =“NoVideo”Image =“SafeImage”
  5. PrintingPermission,Level =“DefaultPrinting”

失败的DLL(我们有源代码)已在“MyCustomDll.dll”的例外中重命名。这个Dll不使用不安全的代码或平台调用,只使用.NET4.0和WPF。

我想知道有没有办法通过检查.NET程序集的安全权限来测试为什么失败?

0 个答案:

没有答案