我想在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和ActiveDirectory身份验证
- 6. Silverlight 4中的身份验证Webservice
- 7. Silverlight 4.0中的NTLM身份验证
- 8. PHPMailer身份验证vs无身份验证
- 9. 使用Windows身份验证的简单身份验证代理
- 10. 2因子Windows身份验证的强身份验证
- 11. SQLSever身份验证与Windows身份验证之间的区别
- 12. Windows Azure中的Silverlight应用程序的表单身份验证
- 13. silverlight应用程序中的Windows身份验证(NTLM)“Out of browser”
- 14. Silverlight 4中的IIS Windows身份验证问题
- 15. Windows身份验证不验证角色
- 16. asp.net Windows身份验证
- 17. sails-sqlserver windows身份验证
- 18. Python urlopen windows身份验证
- 19. Watin Windows身份验证
- 20. 绕过Windows身份验证
- 21. ASP.NET Windows身份验证
- 22. DNN和Windows身份验证
- 23. Asp.net和Windows身份验证
- 24. R和Windows身份验证
- 25. ASP.NET Windows身份验证
- 26. SQL Windows身份验证
- 27. WCF Windows身份验证
- 28. Android Windows身份验证
- 29. IdentityServer4&Windows身份验证
- 30. Windows身份验证问题
我也将增加,有在这种方法中存在安全隐患。一个非常精明的用户可以创建一个你的html页面的副本(包含所需的javascript库和所有的),并修改ASPX页面,以便它们是另一个用户的硬编码凭证。在大多数Intranet情况下,这需要一定量的知识,不应成为问题。如果您的应用程序需要防患于未然,那么您可能希望调查在较低级别添加安全性(即使用具有提升权限的浏览器外模式并利用Windows API)。 – enforge 2010-10-27 15:46:42