程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 關於.Net安全性的兩個小問題

關於.Net安全性的兩個小問題

編輯:.NET實例教程

1.如何在.Net 程序你檢查當前的Windows安全設置以及CAS安全設置

  • 檢查當前程序是否有admin的權限:

String sddlAdmins = "S-1-5-32-544";  //Sid of administrators group

IdentityReference AdminsSid = new SecurityIdentifIEr(sddlAdmins);

if (WindowsIdentity.GetCurrent().Groups.Contains(AdminsSid))歡迎光

w Roman; font-size: 12pt;">

    Console.WriteLine("Running with admin rights!");

  • 檢查當前運行程序集的被CAS賦予的PermissionSets:

How to Get Permissions Assign to Current Assembly in VS.Net 2005 Using C#.

 

另外如果要做一個允許客戶加入自定義擴展的程序,該如何嚴格限制擴展dll的安全性呢,從兩方面入手:

1,用一個PermissionSet受限的AppDomain來加載這個程序集,具體方法參見: Creating an AppDomain with limited permissions.這樣可以防止這個插件來訪問一些需要高安全級別的庫函數,比如P/Invoke,Reflection。以及關鍵的系統文件和注冊表。

2,當你加載這個程序之時,檢查其引用的所有程序集(Assembly.GetReferencedAssemblIEs Method),如果有你不希望它引用的程序集出現,就UnLoad之。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved