我们的系统包含一个自托管(非IIS)WCF服务和一个托管Silverlight应用程序的Asp.net网站。该应用程序几乎可以做所有事情,在这种情况下,网站只是一个“shell”。
我们很难确定如何安全地解决用户身份验证问题。
据我所知,Silverlight无法处理Windows身份验证,也没有任何类型的凭据对象。我们能想到的最好的方法是在用户请求承载应用程序的页面时对用户进行身份验证。然后我们可以在'init parameters。
中将用户名传递给app这样我们就可以将用户名发送到wcf服务,并可以作为处理角色的基础。问题是,任何人都可以在没有Silverlight客户端的情况下调用我们的服务,并传入用户名。此外,在WCF服务和Silverlight应用程序之间发送未加密的敏感数据是一个坏主意。所以,我的问题是:
如何安全地在此方案中验证客户端?
答案 0 :(得分:1)
我在这篇文章中找到了答案:
http://www.silverlightshow.net/items/Building-a-Silverlight-Line-Of-Business-Application-Part-3.aspx
答案 1 :(得分:1)
有没有人尝试使用Silverlight 3?我有类似的情况,并希望使用邮件头实现身份验证(我肯定不想使用ASP.Net cookie),但这里给出的解决方案似乎已过时(无法使用SL3正确编译)。 我即将尝试查找和修复错误,只是希望有人可能有一个固定的例子,或者可能是一个更好的解决方案?
对我来说似乎每当有人询问有关SL和WCF的身份验证时,标准解决方案是RIA服务和ASP.Net Forms Auth内置到网站中,我希望得到更好的答案: - )