我想在Silverlight中實現Windows身份驗證,該怎麼做?Silverlight中的Windows身份驗證Vs 2010
回答
如果您在ASP.NET頁面中託管Silverlight應用程序,則有一種解決方法。
確保您的網站(託管Silverlight的.xap文件和ASPX頁面)啓用了Windows集成的安全性,並禁用匿名訪問。
以下內容添加到您的列表:
< PARAM NAME = 「initParams在」 VALUE =「myCustomParam1 =美孚,用戶id = <%System.Security.Principal.WindowsPrincipal P = System.Threading.Thread.CurrentPrincipal作爲System.Security.Principal.WindowsPrincipal;回覆於(p.Identity.Name);%>」 />
這將通過您的用戶名從ASP.NET拉進你的Silverlight應用程序。
此行添加到您的App.xaml.cs頁面,在Application_Startup方法:
// Take parameters and store them in application resources if (e.InitParams != null) { foreach (var data in e.InitParams) { this.Resources.Add(data.Key, data.Value); } }
一旦你有了到位上面的步驟,你可以訪問背後從頁面代碼的價值使用以下內容:
App.Current.Resources [「userId」]。ToString();另外,作爲替代方案,如果您在Intranet上運行應用程序,並在安全性較高的情況下以瀏覽器外模式運行它,則這一切都將變得更加容易。您可以通過訪問Windows API這樣的:
如果(Application.Current.HasElevatedPermissions) { 使用(動態wshNetwork = AutomationFactory.CreateObject( 「WScript.Network」)){ 回報 (wshNetwork.UserName); }}
據我所知,在Silverlight中「直接」使用Windows身份驗證是不可能的(至少使用自託管的WCF服務 - 可能有IIS支持?)。
在我看來,完成此操作的一種可接受的方式是將用戶名/密碼傳遞到您的服務器,然後使用LDAP庫查詢Active Directory。請務必使用SSL進行服務呼叫,否則憑據將通過線路清晰傳播。
- 1. Silverlight Windows身份驗證
- 2. Silverlight的Sharepoint 2010的Web部分Windows身份驗證
- 3. Silverlight和WCF與Windows身份驗證
- 4. HTTP身份驗證VS OAuth VS HttpClient身份驗證
- 5. Silverlight 5身份驗證
- 6. Silverlight和ActiveDirectory身份驗證
- 7. Container vs Servlet身份驗證
- 8. Silverlight 4.0中的NTLM身份驗證
- 9. Silverlight 4中的身份驗證Webservice
- 10. PHPMailer身份驗證vs無身份驗證
- 11. Windows Azure中的Silverlight應用程序的表單身份驗證
- 12. 2因子Windows身份驗證的強身份驗證
- 13. SQLSever身份驗證與Windows身份驗證之間的區別
- 14. 使用Windows身份驗證的簡單身份驗證代理
- 15. silverlight應用程序中的Windows身份驗證(NTLM)「Out of browser」
- 16. Silverlight 4中的IIS Windows身份驗證問題
- 17. Silverlight 3中的集成Windows身份驗證?
- 18. Windows身份驗證不驗證角色
- 19. CORS與Windows身份驗證
- 20. IIS/Windows身份驗證
- 21. SQL Windows身份驗證
- 22. ASP.NET MVC Windows身份驗證
- 23. WCF - IIS Windows身份驗證
- 24. ASP.NET Windows身份驗證
- 25. 手動Windows身份驗證
- 26. Watin Windows身份驗證
- 27. Asp.net和Windows身份驗證
- 28. wcf和windows身份驗證
- 29. IdentityServer4&Windows身份驗證
- 30. Android Windows身份驗證
我也將增加,有在這種方法中存在安全隱患。一個非常精明的用戶可以創建一個你的html頁面的副本(包含所需的javascript庫和所有的),並修改ASPX頁面,以便它們是另一個用戶的硬編碼憑證。在大多數Intranet情況下,這需要一定量的知識,不應成爲問題。如果您的應用程序需要防患於未然,那麼您可能希望調查在較低級別添加安全性(即使用具有提升權限的瀏覽器外模式並利用Windows API)。 – enforge 2010-10-27 15:46:42