Ric*_*ill 5 wcf kerberos delegation cross-domain
我在一个域(Domain1)中有一个客户端应用程序需要访问另一个域(Domain2)中的应用程序服务器上的WCF服务(没有信任).用户必须将其Domain2凭据输入客户端应用程序.此WCF服务需要连接到Domain2中另一台服务器上的数据库.
我使用ChannelFactory.Credentials.Windows.ClientCredential传递凭据.我已经为用户和应用服务器(也是数据库服务器)启用了委派,但我不认为这是必要的.我已经在他们的应用程序配置中为服务器和客户端设置了委派.然而,当它连接时它似乎只是在它击中app服务器时使用模拟(而不是委托),因此我从db获得匿名访问错误.
我怀疑这可能是因为你不能跨域使用kerberos委托.所以我尝试在Domain2中运行客户端应用程序并得到相同的错误.但是,当我取出凭据设置(使用ChannelFactory.Credentials.Windows.ClientCredential)并在Domain2中运行客户端(因此它将使用登录的用户凭据)时,它可以工作.
在我看来,这可能是因为它没有将kerberos令牌传递给WCF服务,而是传递用户名和密码.但肯定它应该能够将用户名和密码传递给Web服务并连接,然后在该域中进行身份验证?
我已经浏览了一下,但没有找到任何使用ClientCredentials进行跨域委派的问题.
希望有人可以帮助我.
| 归档时间: |
|
| 查看次数: |
517 次 |
| 最近记录: |