繁体   English   中英

为Internet Explorer中托管的Windows窗体控件配置安全性

[英]Configuring security for a windows forms control hosted in Internet Explorer

我创建了一个Windows窗体控件,该控件托管在Internet Explorer可见的网页中。

我的控件从com端口读取,并将其写入事件日志。 默认情况下,当框架请求适当的权限时,这两项操作都会失败。 此Web应用程序将始终在Intranet区域中运行,如何启用这些操作?

串行端口代码位和错误:

private System.IO.Ports.SerialPort portCardReader_m = new System.IO.Ports.SerialPort();
portCardReader_m.PortName = value;
portCardReader_m.Open();  //Exception here

请求类型为'System.Security.Permissions.SecurityPermission,mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089的权限失败。

事件日志代码位和错误:

System.Diagnostics.EventLog pEventLog = new System.Diagnostics.EventLog("Application", ".", this.GetType().FullName);
pEventLog.WriteEntry(this.Text, System.Diagnostics.EventLogEntryType.Error); //Exception Here

请求类型为'System.Diagnostics.EventLogPermission,System,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089的权限失败。

将我的控件嵌入浏览器的代码:

<object width="600px" height="300px" id="objCardReader" classid="cardreader.dll#CardReader">
    <param name="Text" value="Testing" />
    <param name="PortName" value="COM5" />
</object>

您将需要创建安装程序,或者让您的用户为您的网站授予更高的信任级别。 这些设置可以在Microsoft .NET Framework配置下进行编辑。 在管理工具下。 您还可以查看Chris Sells Wahoo ,它使用安装程序授予这些权限

过去,我一直在为此苦苦挣扎,并尝试使用caspol提升权限,这确实很痛苦。 我最终在30分钟内将其转换为单击一次应用程序,此后再也没有任何问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM