聲明式限定.NET函數的調用用戶

在組織機構的日常工作過程中,人員擁有與其工作需要相關的信息使用權限。支持組織業務的應用程序應反映這種對不同人員(用戶)的權限約束。
 
按照信息安全的最小權限原則,用戶只應分配完成其工作必須的權限。多餘的權限都是系統的安全隱患。
 
.NET支持聲明一個函數的安全要求,使得只有特定的用戶或者特定角色的用戶能夠使用這個函數。
 
以使用Windows系統提供的用戶和組機制爲例,被調用函數的聲明方式爲:
[PrincipalPermissionAttribute(SecurityAction.Demand, Name = @"DOMAINNAME\username", Role = "Users")]
public static void PrivateFunction()
{
//需要安全保護的代碼。
Console.WriteLine("\n\nYou have access to the private data!");
}
 
由於使用的是Windows系統用戶管理機制,調用函數之前要使用SetPrincipalPolicy指定使用Windows用戶機制。調用PrivateFunction函數的代碼如下:
AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
……
PrivateFunction();
 
如果調用者(即運行應用程序者)不滿足被調用函數的安全約束,將會引發一個安全異常。
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章