.net程序的权限问题:怎样突破.net的权限限制?
我做了一个windows form控件,想把它嵌入网页,在客户端运行。但是由于控件调用了本地API,缺乏足够的权限来运行程序。系统提示:System.Security.Permissions.SecurityPermission.堆栈跟踪如下:
************** 异常文本 **************
System.Security.SecurityException: System.Security.Permissions.SecurityPermission
at WebCamControl.WebCamera.StartWebCam()
at WebCamControl.WebCamControl.b_play_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** 已加载的程序集 **************
mscorlib
程序集版本: 1.0.5000.0
Win32 版本: 1.1.4322.573
基本代码: file:///c:/winnt/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
System.Drawing
程序集版本: 1.0.5000.0
Win32 版本: 1.1.4322.573
基本代码: file:///c:/winnt/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------
System
程序集版本: 1.0.5000.0
Win32 版本: 1.1.4322.573
基本代码: file:///c:/winnt/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
RegexAssembly6_0
程序集版本: 0.0.0.0
Win32 版本: 无法使用
基本代码:
----------------------------------------
WebCamControl
程序集版本: 1.0.1768.40421
Win32 版本: 无法使用
基本代码: http://localhost/WebCamControl.DLL
----------------------------------------
System.Windows.Forms
程序集版本: 1.0.5000.0
Win32 版本: 1.1.4322.573
基本代码: file:///c:/winnt/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
Microsoft.mshtml
程序集版本: 7.0.3300.0
Win32 版本: 7.0.3300.0
基本代码: file:///c:/winnt/assembly/gac/microsoft.mshtml/7.0.3300.0__b03f5f7f11d50a3a/microsoft.mshtml.dll
----------------------------------------
Accessibility
程序集版本: 1.0.5000.0
Win32 版本: 1.1.4322.573
基本代码: file:///c:/winnt/assembly/gac/accessibility/1.0.5000.0__b03f5f7f11d50a3a/accessibility.dll
----------------------------------------
System.Windows.Forms.resources
程序集版本: 1.0.5000.0
Win32 版本: 1.1.4322.573
基本代码: file:///c:/winnt/assembly/gac/system.windows.forms.resources/1.0.5000.0_zh-chs_b77a5c561934e089/system.windows.forms.resources.dll
----------------------------------------
mscorlib.resources
程序集版本: 1.0.5000.0
Win32 版本: 1.1.4322.573
基本代码: file:///c:/winnt/assembly/gac/mscorlib.resources/1.0.5000.0_zh-chs_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
问题点数:100、回复次数:13Top
1 楼qixiao(七小)(Gadgets中文网http://www.gadgets.net.cn)回复于 2004-12-04 00:06:24 得分 2
考虑一下黑客技术,常规的方法不行的Top
2 楼jack4811(5年以后...)回复于 2004-12-04 00:49:19 得分 2
form控件在客户端运行?!
牛!!! 关注~~~
楼上说的对,做个ACTIVE控件的木马~Top
3 楼Miracle(新一代的开山怪)回复于 2004-12-04 04:30:25 得分 4
如果客户端不把你的程序集的CODEBASE加入受信任列表,那你怎么搞都不行的。建议还是用ActiveX来做,要求用户安装并允许它运行(其实差不多)Top
4 楼sand1602(沙)回复于 2004-12-04 09:05:52 得分 0
TO Miracle(新一代的开山怪):
客户端怎么样才能把我的程序集的CODEBASE加入受信任列表?
ActiveX控件可以用C#写吗?
我没用过,不清楚.Top
5 楼sand1602(沙)回复于 2004-12-04 09:26:58 得分 0
那里有用C#写ActiveX控件的资料?Top
6 楼rustical(时光流逝)回复于 2004-12-04 10:44:28 得分 2
在管理工具 .net 安全向导中 internet 的权限 修改为 “完全信任" 就可以了!Top
7 楼conquersky(conquersky V)回复于 2004-12-04 11:11:04 得分 2
老大 怎么不学学智能客户端阿 这样搞每个人的机子不说教人格了 就格勒Top
8 楼sand1602(沙)回复于 2004-12-04 11:47:04 得分 0
其实这是要调用客户端的摄像头,所以一定要调用本地API.直到现在还是被权限的问题困扰.现在看来,只有一个办法,那就是写一个ActiveX控件.但是C#是不能写ActiveX控件的,只有用C++写。而C++不熟悉。本来以为问题快解决了,没想到出了这么一个问题!极其郁闷!Top
9 楼Miracle(新一代的开山怪)回复于 2004-12-04 13:14:20 得分 2
在管理工具 .net 安全向导中 internet 的权限 修改为 “完全信任" 就可以了!
===
说起来容易做起来难,谁敢把Internet设置为完全信任?怎么死的都不知道Top
10 楼sand1602(沙)回复于 2004-12-04 19:14:12 得分 0
555555555555~~~~~~~~
没人能帮忙吗?Top
11 楼qixiao(七小)(Gadgets中文网http://www.gadgets.net.cn)回复于 2004-12-04 21:08:45 得分 2
你可以看看聊聊的网站www.liaoliao.com
他就是给客户端下载一个.exe,这个过程需要用户交互的,否则没有办法!Top
12 楼cooleader123(cooleader)回复于 2004-12-04 21:18:16 得分 2
我也认为只有让用户下载一个.exe, 如果用户同意安装就可以实现,不同意就没办法了Top
13 楼homervision(红马天下)回复于 2005-01-01 16:56:24 得分 82
用C#是可以写ActiveX控件的Top




