我正在编写一组WCF服务,这些服务依赖于使用受信任子系统模型的Windows身份验证的传输安全性。但是,我想基于发起请求的原始客户端用户(例如,来自具有用户名/密码的网站的用户)执行授权。我打算通过在客户端发送消息之前在标头中添加原始用户的凭据来实现此目的,然后服务将使用提供的凭据来授权用户。所以我对这个实现有几个问题:
1)使用带有Windows身份验证的传输安全性,我不需要担心再次加密传递的凭据以确保有效性... WCF会自动处理这个问题 - 这是正确的吗?
2)此实现如何防止在域内某些Windows帐户下运行的恶意服务发送带有欺骗凭据的邮件。例如恶意服务会用Admin用户替换凭据来做坏事吗?
感谢您的帮助。
答案 0 :(得分:0)
你使用什么装订?此服务仅在您的公司局域网内,或者您是否打算走出防火墙?
回答你的问题(尽我所能)
1)通过传输安全性的Windows身份验证,传输层将被加密且安全 - 无需担心额外的凭证加密等。
2)它不能。如果恶意服务设法“劫持”某些有效的Windows凭据并构成在公司网络上拥有帐户的“John Doe”,则WCF服务无法将此与John Doe的有效请求区分开来。