学习啦 > 学习电脑 > 网络知识 > 网络基础知识 >

asp.net实现访问局域网共享目录下文件教程

时间: 加城1195 分享

  局域网通常是分布在一个有限地理范围内的网络系统,一般所涉及的地理范围只有几公里。局域网专用性非常强,具有比较稳定和规范的拓扑结构。这篇文章主要介绍了asp.net实现访问局域网共享目录下文件的解决方法,需要的朋友可以参考下

  方法步骤

  using System;

  using System.Collections;

  using System.Configuration;

  using System.Data;

  using System.Linq;

  using System.Web;

  using System.Web.Security;

  using System.Web.UI;

  using System.Web.UI.HtmlControls;

  using System.Web.UI.WebControls;

  using System.Web.UI.WebControls.WebParts;

  using System.Xml.Linq;

  using System.IO;

  using System.Security.Principal;

  using System.Runtime.InteropServices;

  public partial class _Default : System.Web.UI.Page

  {

  public const int LOGON32_LOGON_INTERACTIVE = 2;

  public const int LOGON32_PROVIDER_DEFAULT = 0;

  WindowsImpersonationContext impersonationContext;

  [DllImport("advapi32.dll")]

  public static extern int LogonUserA(String lpszUserName,

  String lpszDomain,

  String lpszPassword,

  int dwLogonType,

  int dwLogonProvider,

  ref IntPtr phToken);

  [DllImport("advapi32.dll", CharSet = CharSet.Auto, SetLastError = true)]

  public static extern int DuplicateToken(IntPtr hToken,

  int impersonationLevel,

  ref IntPtr hNewToken);

  [DllImport("advapi32.dll", CharSet = CharSet.Auto, SetLastError = true)]

  public static extern bool RevertToSelf();

  [DllImport("kernel32.dll", CharSet = CharSet.Auto)]

  public static extern bool CloseHandle(IntPtr handle);

  public void Page_Load(Object s, EventArgs e)

  {

  if (impersonateValidUser("lucas", "Workgroup", "lcas"))

  {

  string path = @"//zhehui001/lu";

  foreach (string f in Directory.GetFiles(path))

  {

  Response.Write(f);

  }

  undoImpersonation();

  }

  else

  {

  //Your impersonation failed. Therefore, include a fail-safe mechanism here.

  }

  }

  private bool impersonateValidUser(String userName, String domain, String password)

  {

  WindowsIdentity tempWindowsIdentity;

  IntPtr token = IntPtr.Zero;

  IntPtr tokenDuplicate = IntPtr.Zero;

  if (RevertToSelf())

  {

  if (LogonUserA(userName, domain, password, LOGON32_LOGON_INTERACTIVE,

  LOGON32_PROVIDER_DEFAULT, ref token) != 0)

  {

  if (DuplicateToken(token, 2, ref tokenDuplicate) != 0)

  {

  tempWindowsIdentity = new WindowsIdentity(tokenDuplicate);

  impersonationContext = tempWindowsIdentity.Impersonate();

  if (impersonationContext != null)

  {

  CloseHandle(token);

  CloseHandle(tokenDuplicate);

  return true;

  }

  }

  }

  }

  if (token != IntPtr.Zero)

  CloseHandle(token);

  if (tokenDuplicate != IntPtr.Zero)

  CloseHandle(tokenDuplicate);

  return false;

  }

  private void undoImpersonation()

  {

  impersonationContext.Undo();

  }

  }

  补充:局域网、校园网安全维护方法

  校园网络分为内网和外网,就是说他们可以上学校的内网也可以同时上互联网,大学的学生平时要玩游戏购物,学校本身有自己的服务器需要维护;

  在大环境下,首先在校园网之间及其互联网接入处,需要设置防火墙设备,防止外部攻击,并且要经常更新抵御外来攻击;

  由于要保护校园网所有用户的安全,我们要安全加固,除了防火墙还要增加如ips,ids等防病毒入侵检测设备对外部数据进行分析检测,确保校园网的安全;

  外面做好防护措施,内部同样要做好防护措施,因为有的学生电脑可能带回家或者在外面感染,所以内部核心交换机上要设置vlan隔离,旁挂安全设备对端口进行检测防护;

  内网可能有ddos攻击或者arp病毒等传播,所以我们要对服务器或者电脑安装杀毒软件,特别是学校服务器系统等,安全正版安全软件,保护重要电脑的安全;

  对服务器本身我们要安全server版系统,经常修复漏洞及更新安全软件,普通电脑一般都是拨号上网,如果有异常上层设备监测一般不影响其他电脑。做好安全防范措施,未雨绸缪。


asp.net实现访问局域网共享目录下文件教程相关文章:

1.如何设置局域网共享文件夹和访问共享文件夹

2.局域网资源共享的实现的方法

3.公司局域网内怎样查看其它电脑共享的文件

4.局域网共享提示没有权限访问怎么办

5.局域网怎么共享电影文件

4051356