Web services 在web应用程序和桌面应用程序之间集成身份验证

Web services 在web应用程序和桌面应用程序之间集成身份验证,web-services,web-applications,security,Web Services,Web Applications,Security,我想通过桌面应用程序将文件上载到网站,然后将用户带到该网站。该网站有一个web服务,但与网站一样需要身份验证。有没有一种方法可以做到这一点而不强制用户进行两次身份验证(一次在桌面应用程序中,一次在web浏览器中)? 不幸的是,出于安全原因,您不能预先填充file类型的输入,这是有意义的,因为用户不希望您从他/她的计算机上载任意文件。但是,如果他们有一个桌面应用程序,有没有办法解决这个问题? 或者让用户先登录到web应用程序,然后再重用身份验证cookie? 还有其他想法吗 谢谢, Ben您可以生

我想通过桌面应用程序将文件上载到网站,然后将用户带到该网站。该网站有一个web服务,但与网站一样需要身份验证。有没有一种方法可以做到这一点而不强制用户进行两次身份验证(一次在桌面应用程序中,一次在web浏览器中)? 不幸的是,出于安全原因,您不能预先填充file类型的输入,这是有意义的,因为用户不希望您从他/她的计算机上载任意文件。但是,如果他们有一个桌面应用程序,有没有办法解决这个问题? 或者让用户先登录到web应用程序,然后再重用身份验证cookie? 还有其他想法吗

谢谢,
Ben

您可以生成一个身份验证令牌,稍后可以在网站上使用。

这取决于服务和网站的身份验证类型。它是否集成了Kerberos、WS-Auth、Basic/Digest HTTP、forms/cookie?

我会使用dekstop应用程序作为通过api访问网站应用程序的客户端

因此,通过桌面应用程序登录。api返回一个身份验证令牌(正如Carlos所建议的),该令牌可能是存储在数据库中一段时间的md5哈希,可能与客户端ip地址匹配

然后,桌面应用程序可以作为经过身份验证的用户(通过使用auth令牌)调用api(如上载文件)


加载网站时,url可能是{auth_token},其中auth token被添加到url中。API可以检查它是否是有效的AUTH令牌并考虑用户登录。

< P>这个答案很可能不适用于广域网场景下的一般用户,但在内联网上下文中,使用Windows身份验证(在ASP.NET解决方案上),将提供此功能。

Web服务是否未实现某种登录方法?