我正在尝试使用webrequests从我的.net客户端访问kerberized hadoop集群restapi。我正在使用来自activedirectory域的凭据,该域与hadoop领域具有信任关系:
NetworkCredential credentials = new NetworkCredential("user", "password", "ACTIVEDIRECTORY.DOMAIN");
WebRequest request = WebRequest.Create(System.Uri.EscapeUriString(url));
request.Credentials = credentials;
request.Method = "GET";
WebResponse response = await request.GetResponseAsync();
我的工作流程运行良好,因为我看到3个对我的请求的响应:
HTTP/1.1 401 Authentication required
HTTP/1.1 307 TEMPORARY_REDIRECT
HTTP/1.1 200 OK
在我的第二个请求中,我看到一个kerberos令牌作为单独的安全头发送:
Authorization: Negotiate YIIDXAYGKwYBBQUCoIIDUDCCA...
但这是我的upn帐户,我想用带有keytab而不是密码的spn替换它,因为应用程序将充当独立的wcf服务,我不想弄乱web配置安全容器。
所以我的问题是:
1) 在第一个请求之后,是否可以使用keytab代替我的upn creadentials来生成spengo协商令牌?
2) 在我的webrequest对象中,有没有任何方法可以使用已经从缓存中获得的票证?
3) 我的kerberos令牌是如何生成的?它是由我的用户名密码的版本加密的gssapi吗?
我尝试使用mitkerberos管理器实用程序来实现这一点,但进展不大。
提前谢谢
暂无答案!
目前还没有任何答案,快来回答吧!