Net(C)创建网络映射磁盘_第1页
Net(C)创建网络映射磁盘_第2页
Net(C)创建网络映射磁盘_第3页
Net(C)创建网络映射磁盘_第4页
Net(C)创建网络映射磁盘_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.NET(C#在网络上创建映射磁盘2、 在WEB 服务器上新建用户:administrator密码为: ,用户组选择默认的administrator 组即可。3、 在 WEB 工程中新建公共类WNetHelperpublicclassWNetHelperDllImport( mpr.dll, EntryPoint =WNetAddConnection2 privatestaticexternuintWNetAddConnection2( NetResource lpNetResource,stringlpPassword,stringlpUsername,uintdwFlags 。DllImp

2、ort( Mpr.dll, EntryPoint =WNetCancelConnection2 privatestaticexternuintWNetCancelConnection2( stringlpName,uintdwFlags,bool fForce。StructLayout( LayoutKind .SequentialpublicclassNetResourcepublicintdwScope。publicintdwType。publicintdwDisplayType 。publicintdwUsage。1 / 8publicstringlpLocalName 。publics

3、tringlpRemoteName。publicstringlpComment 。publicstringlpProvider 。为网络共享做本地映射 访问用户名 windows系统需要加计算机名,如: comp-1user-1/ 访问用户密码 / 网络共享路径 如: )/ 本地映射盘符 / publicstaticuintWNetAddConnection( stringusername,stringpassword,stringremoteName,stringlocalNameNetResource netResource =newNetResource ( 。netResource.d

4、wScope = 2。netResource.dwType = 1。netResource.dwDisplayType = 3。netResource.dwUsage = 1。netResource.lpLocalName = localNResource.lpRemoteName = remoteName.TrimEnd(。2 / 8uintresult = WNetAddConnection2(netResource, password, username, 0。returnresult。publicstaticuintWNetCancelConnection( string

5、name,uintflags,bool forceuintnret = WNetCancelConnection2(name, flags, force。returnnret。4、 为 IIS 指定运行账户user-1要实现此功能,有两种办法:a 在 web.config 文 件 中 的 节 点 下 , 添 加 如 下 配 置 : b 在 WEB 工程中添加公用类LogonImpersonatepublicclassLogonImpersonate :IDisposablestaticpublicstringDefaultDomaingetreturn . 。constintLOGON32_L

6、OGON_INTERACTIVE 。= 2constintLOGON32_PROVIDER_DEFAULT。= 0DllImport( Kernel32.dll3 / 8externstaticintFormatMessage( intflag,ref IntPtrsource, intmsgid, int langid,refstringbuf,int size, refIntPtrargs。System.Runtime.InteropServices.DllImport( Kernel32.dllexternstaticboolCloseHandle(IntPtrhandle 。Syste

7、m.Runtime.InteropServices.DllImport( Advapi32.dll, SetLastError =true externstaticboolLogonUser(stringlpszUsername,stringlpszDomain,stringlpszPassword,intdwLogonType,intdwLogonProvider,ref IntPtrphToken。IntPtrtoken 。WindowsImpersonationContextcontext。publicLogonImpersonate(stringusername,stringpassw

8、ordif(username.IndexOf( = -1Init(username, password, DefaultDomain。elsestring pair = username.Split(newchar , 2。4 / 8Init(pair1, password, pair0。publicLogonImpersonate(stringusername,stringpassword,stringdomainInit(username, password, domain。void Init(stringusername,stringpassword,stringdomainif (Lo

9、gonUser(username, domain, password, LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT,ref tokenbool error =true 。tryWindowsIdentity.Impersonate(token。error =false 。finallyif(errorCloseHandle(token。else5 / 8Marshal .GetLastWin32Error(。IntPtrtempptr =IntPtr.Zero 。stringmsg =null 。FormatMessage(0 x13

10、00,reftempptr, err, 0,refmsg, 255,ref tempptr 。throw ( newException (msg。LogonImpersonate(Dispose(。publicvoidDispose(if(context !=null trycontext.Undo(。finallyCloseHandle(token。6 / 8context =null 。在访问映射磁盘之前首先调用此类为IIS 更换运行用户:LogonImpersonateimper= newLogonImpersonate(administrator, 。5、 在访问共享目录前,调用WNetHelper.WNetAddConnection ,添加磁盘映射publicstaticboolCreateDirectory(stringpathuintstate = 0。if(! Directory.Exists(Z: state =WNetHelper

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论