我想讓遠程管理員(具有本地或域憑據)通過WCF TCP綁定來控制我的Windows服務。爲此,我需要以管理員身份驗證遠程用戶。我可以檢查主要用戶/角色,但我不知道如何提示遠程用戶輸入正確的用戶詳細信息/標記。受限制的遠程WCF服務:Windows身份驗證提示
這與我之前的問題Restricting WCF TCP endpoint to Administrators有關。而不是增加[PrincipalPermission(SecurityAction.Demand, Role = "Administrator")]
以我有限的服務方法和受涼SecurityException
的,看來我可以檢查它:
if (!System.Threading.Thread.CurrentPrincipal.IsInRole("Administrators"))
return MethodResult.AccessDenied;
// haven't tested if it's the service thread or the remote user yet.
如何提示Windows身份驗證的遠程用戶如果拒絕訪問結果返回,所以我可以作爲不同的委託人重新啓動連接?
當然,更改需要在遠程用戶的客戶端應用程序上生效。也許有一個更清潔的WCF方式來做到這一點?
編輯:搜索 「.NET冒充」 導致我this CodeProject上。沒有機會看,但這可能是要走的路。
謝謝。 [這個問題](http://stackoverflow.com/questions/1596161/how-to-show-authentication-dialog-in-c-net-3-5-sp1)提供了一個本機提示,雖然有一個老樣子。 – 2010-12-10 13:22:39