2 回答

TA貢獻1815條經驗 獲得超6個贊
只有有權訪問(登錄)“ SERV1”的用戶才能訪問該服務嗎?
是的-這就是在WCF服務中使用Windows憑據的關鍵。只有在該Active Directory域中擁有域帳戶(或與您的域具有雙向完全信任關系的單獨域)的用戶才能訪問該服務。
還是所有能夠登錄辦公室網絡(使用活動目錄憑據)的用戶都可以使用該服務?
WCF安全邊界是Active Directory域 -不是特定的服務器。
有沒有一種方法可以確保只有經過CIO批準的應用程序才能訪問該服務,并使該服務保持Windows身份驗證?
這些“經CIO批準”的應用程序與其他應用程序有何不同?WCF由帳戶(通常是用戶帳戶)訪問。您可以限制哪些帳戶可以訪問您的服務(例如,要求這些帳戶成為給定AD組的成員或其他內容)。您不能真正基于應用程序“限制”(僅當那些應用程序使用特定的應用程序級帳戶訪問WCF服務時)
是對每個服務操作調用還是僅對第一個調用進行此身份驗證檢查?
取決于您的服務-如果您使用按呼叫的 WCF服務,則將針對每個呼叫進行檢查。如果在啟用“安全協商”的情況下使用按會話的 WCF服務,則檢查將在會話開始時進行一次,直到會話結束才進行檢查。
服務有什么辦法可以知道用戶的Windows憑據?
是- OperationContext.Current.ServiceSecurityContext.WindowsIdentity
是用于調用服務的Windows憑據(Windows身份)。不僅僅是用戶名.....

TA貢獻1850條經驗 獲得超11個贊
這不是身份驗證任務,而是授權任務。Kerberos負責確保用戶通過身份驗證(您獲得的名稱就是他們的真實姓名)。LDAP管理授權。在Windows上下文中,這意味著用戶應該是某個允許訪問服務器材料組的成員(并且該服務必須檢查情況是否如此)。
應用程序?并不是的。也就是說,Active Directory中有兩種經過身份驗證的主體:用戶和計算機。但是,如果正在運行的用戶具有連接到服務的權限,那么為什么運行什么應用程序無關緊要?換句話說,您不能阻止某人使用他們自己的代碼來完全執行您的代碼將要執行的操作。
沒關系 身份驗證有效,不是嗎?實際情況是,正在向該應用程序傳遞票證,以證明該用戶已通過身份驗證(已向KDC,即活動目錄服務器)。
是的,從某種意義上講,安全性上下文是用戶的憑據集。他們可能還具有其他憑據,但是您也可以獲取這些憑據。
- 2 回答
- 0 關注
- 715 瀏覽
添加回答
舉報