目前我遇到了一个寻找解决方案的具体问题,我希望你能提供 对此事有所了解。
问题的结构:
手头的任务是收集客户端的登录凭据(令牌)并将其传递给servlet。但是,我似乎无法找到一个很好的资源来做到这一点。我研究过各种各样的方法。即SPNEGO,WAFFLE等......但是,根据我的理解,这些似乎需要某种活动目录,我正在尝试从用户本地机器收集凭据。如何为我的特定请求收集servlet的Windows凭据的明确解释或指导将不胜感激。
图表总是一种更好的解释方式,所以如果你仍然困惑我会提供一个:
Windows PC(客户端)------------------------> Java Servlet -------------------------------------> IIS服务器
(Windows身份验证)--------------> (获取凭据)--------------------(检查凭证和身份验证)
(token) (pass credentials)
感谢高级回复的任何人,我真的很感激!。
答案 0 :(得分:0)
你在浪费时间。如果您只从用户本地计算机获取凭据,则无法知道这些凭据是否可信任。您也可以为每个用户提供对Web应用程序的管理访问权限。
需要活动目录(或类似名称)的原因是它不受客户端的控制并且受服务器信任。例如,当使用SPNEGO时,客户端向Windows域验证自身,客户端从Windows域获取一个令牌,只有在验证后才能获得该令牌,客户端将令牌传递给服务器,然后服务器可以验证使用Windows域的令牌来确认客户端确实是他们声称的那个人。 (不是那么简单,但你明白了。)
还有其他方法可以做到这一点 - 例如使用PKI - 但它们都有一个共同的中央可信认证系统,服务器可以用它来验证客户端提供的凭据。