利用c#怎么对系统登录用户进行验证

  介绍

这篇文章给大家介绍利用c#怎么对系统登录用户进行验证,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

窗口用户类型:管理员,客人,自定义用户等;文件的权限不外乎:读、写、修改、删除等等,其中拥有所有权限的字符叫做FullControl。

<强> c#当前程序用户路径权限验证

///& lt; summary>///是否拥有程序数据路径权限///& lt;/summary>
  私有静态bool HasProgramDataRights=false;
  
  公共静态bool IsAdministrator ()
  {
  System.Security.Principal。WindowsIdentity身份=System.Security.Principal.WindowsIdentity.GetCurrent ();
  System.Security.Principal。WindowsPrincipal校长=new System.Security.Principal.WindowsPrincipal(身份);
  返回principal.IsInRole (System.Security.Principal.WindowsBuiltInRole.Administrator);
  }///& lt; summary>///读取系统程序数据路径权限,判断是否可以使用临时目录进行保存操作///& lt;/summary>///& lt;参数name=皃ath"祝辞& lt;/param>
  公共空间ReadProgramDataRights (string路径)
  {//通过判定文件的权限来控制路径
  System.Security.AccessControl。DirectorySecurity dirSec=new System.IO.DirectoryInfo(路径).GetAccessControl ();
  System.Security.AccessControl。=dirSec AuthorizationRuleCollection规则。GetAccessRules(真的,真的,typeof (System.Security.Principal.NTAccount));
  foreach (System.Security.AccessControl。FileSystemAccessRule统治规则)
  {
  控制台。WriteLine(路径+“文件目录权限字符:“+ rule.FileSystemRights);//判定文件是否具有FullControl或写权限
  如果(rule.FileSystemRights.ToString () .Equals (“FullControl") | | rule.FileSystemRights.ToString () .Equals (“Write"))
  {
  HasProgramDataRights=true;
  打破;
  }
  }//为IE保护模式创建临时保存路径
  如果(HasProgramDataRights)
  {//创建操作路径
  字符串recordTemp=FileHelp.GetAppDataLocalLow () +“\ \ CvNetVideo \ \ \ \“记录;
  字符串screenshotTemp=FileHelp.GetAppDataLocalLow () +“\ \ CvNetVideo \ \ \ \“截图;
  字符串recordDst=FileHelp.GetCommonApplicationData () +“\ \ CvNetVideo \ \ \ \“记录;
  字符串screenshotDst=FileHelp.GetCommonApplicationData () +“\ \ CvNetVideo \ \ \ \“截图;
  Directory.CreateDirectory (recordTemp);
  Directory.CreateDirectory (screenshotTemp);
  Directory.CreateDirectory (recordDst);
  Directory.CreateDirectory (screenshotDst);
  }
  }

<>强c#文件操作工具类

 FileHelp公共类
  {
  公共enum GetDirectoryType
  {
  ByAppDomain,
  ByAssembly
  }
  公共静态字符串GetCurrentDirectory (GetDirectoryType类型=GetDirectoryType.ByAppDomain)
  {
  开关(类型)
  {
  案例GetDirectoryType.ByAppDomain:
  返回AppDomain.CurrentDomain.BaseDirectory;
  案例GetDirectoryType.ByAssembly:
  
  返回Path.GetDirectoryName (System.Reflection.Assembly.GetExecutingAssembly () .Location);
  默认值:
  返回AppDomain.CurrentDomain.BaseDirectory;
  }
  }
  公共静态字符串GetCurrentDirectoryByAssembly ()
  {
  返回GetCurrentDirectory (GetDirectoryType.ByAssembly);
  }///& lt; summary>///程序数据路径- C: \ ProgramData///& lt;/summary>///& lt; returns> & lt;/returns>
  公共静态字符串GetCommonApplicationData ()
  {
  返回Environment.GetFolderPath (Environment.SpecialFolder.CommonApplicationData);
  }///& lt; summary>///用户数据路径///& lt;/summary>///& lt; returns> & lt;/returns>
  公共静态字符串GetApplicationData ()
  {
  返回Environment.GetFolderPath (Environment.SpecialFolder.ApplicationData);
  }///& lt; summary>///用户数据本地路径///& lt;/summary>///& lt; returns> & lt;/returns>
  公共静态字符串GetLocalApplicationData ()
  {
  返回Environment.GetFolderPath (Environment.SpecialFolder.LocalApplicationData);
  }///& lt; summary>///用户路径///& lt;/summary>///& lt; returns> & lt;/returns>
  公共静态字符串GetUserProfile ()
  {
  返回Environment.GetFolderPath (Environment.SpecialFolder.UserProfile);
  }///& lt; summary>///用户的图片路径///& lt;/summary>///& lt; returns> & lt;/returns>
  公共静态字符串GetMyPictures ()
  {
  返回Environment.GetFolderPath (Environment.SpecialFolder.MyPictures);
  }///& lt; summary>///用户的视频路径///& lt;/summary>///& lt; returns> & lt;/returns>
  公共静态字符串GetMyVideos ()
  {
  返回Environment.GetFolderPath (Environment.SpecialFolder.MyVideos);
  }///& lt; summary>///用户的文档路径///& lt;/summary>///& lt; returns> & lt;/returns>
  公共静态字符串GetMyDocuments ()
  {
  返回Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments);
  }///& lt; summary>///IE保护模式下的低权限操作路径(Internet临时文件/低)///& lt;/summary>///& lt; returns> & lt;/returns>
  公共静态字符串GetTemporaryInternetFiles ()
  {
  微软返回GetLocalApplicationData () +“\ \ \ \ Windows \ \ \ \ Low" Internet临时文件;;
  }///& lt; summary>///IE保护模式下的低权限操作路径(% userprofile % AppData/LocalLow)///& lt;/summary>///& lt; returns> & lt;/returns>
  公共静态字符串GetAppDataLocalLow ()
  {
  返回GetUserProfile () +“\ \ AppData \ \ LocalLow";
  }///& lt; summary>///获取系统字体文件路径///& lt;/summary>///& lt; returns> & lt;/returns>
  公共静态字符串GetFonts ()
  {
  返回Environment.GetFolderPath (Environment.SpecialFolder.Fonts);
  }///& lt; summary>///二进制文件读?//& lt;/summary>///& lt;参数name=癋ileUrl"在文件路径& lt;/param>///& lt; returns> & lt;/returns>
  公共静态byte [] BinaryRead(字符串FileUrl)
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null

利用c#怎么对系统登录用户进行验证