You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Michael Watson (JIRA)" <ji...@apache.org> on 2013/02/27 03:15:13 UTC

[jira] [Commented] (CXF-4858) Maintain Session (Cookie) is not honoured when using NTLM

    [ https://issues.apache.org/jira/browse/CXF-4858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13587904#comment-13587904 ] 

Michael Watson commented on CXF-4858:
-------------------------------------

Wireshark output:


POST /worksite/services/IWOVServices.asmx HTTP/1.1
Accept: */*
User-Agent: Apache CXF 2.7.3
SOAPAction: "http://worksite.imanage.com/GetDocuments"
Transfer-Encoding: chunked
Content-Type: text/xml; charset=UTF-8
Host: myserver.mydomain.com
Connection: Keep-Alive

1cf
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><GetDocuments xmlns="http://worksite.imanage.com"><ObjectIDs><string>10616126</string></ObjectIDs><OutputProfile><imProfileAttributeID>imProfileAuthor</imProfileAttributeID><imProfileAttributeID>imProfileName</imProfileAttributeID><imProfileAttributeID>imProfileDocNum</imProfileAttributeID></OutputProfile><OutputMask>Profile</OutputMask></GetDocuments></soap:Body></soap:Envelope>
0

HTTP/1.1 401 Unauthorized
Cache-Control: private
Transfer-Encoding: chunked
Content-Type: text/html
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-WorkSite-Version: 8.5.1002.10
Set-Cookie: ASP.NET_SessionId=vpmsvt45idwhhdufcu0iwgbk; path=/; HttpOnly
Set-Cookie: virtualPath=/WorkSite; path=/
Set-Cookie: virtualRoot=http://myserver.mydomain.com/WorkSite; path=/
Set-Cookie: keyCode=; path=/
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM
X-Powered-By: ASP.NET
Date: Wed, 27 Feb 2013 01:15:06 GMT

3a
You do not have permission to view this directory or page.
0

POST /worksite/services/IWOVServices.asmx HTTP/1.1
Accept: */*
User-Agent: Apache CXF 2.7.3
SOAPAction: "http://worksite.imanage.com/GetDocuments"
Transfer-Encoding: chunked
Content-Type: text/xml; charset=UTF-8
Host: myserver.mydomain.com
Connection: Keep-Alive
Authorization: NTLM TlRMTVNTUAABAAAANQIIIAgACAAyAAAAEgASACAAAABBAEsATABFAFMARQBYAFAAMQBOAFoAVABFAA==

1cf
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><GetDocuments xmlns="http://worksite.imanage.com"><ObjectIDs><string>10616126</string></ObjectIDs><OutputProfile><imProfileAttributeID>imProfileAuthor</imProfileAttributeID><imProfileAttributeID>imProfileName</imProfileAttributeID><imProfileAttributeID>imProfileDocNum</imProfileAttributeID></OutputProfile><OutputMask>Profile</OutputMask></GetDocuments></soap:Body></soap:Envelope>
0

HTTP/1.1 401 Unauthorized
Content-Type: text/html; charset=us-ascii
Server: Microsoft-HTTPAPI/2.0
WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADgAAAA1AokiuxDWllxlRwsAAAAAAAAAALwAvABAAAAABgGxHQAAAA9OAFoAVABFAAIACABOAFoAVABFAAEAFABBAEsATABXAFMAVwBFAEIAVAAyAAQAIgBjAG8AcgBwAC4AbgB6AHQAZQAuAGcAbwB2AHQALgBuAHoAAwA4AEEASwBMAFcAUwBXAEUAQgB0ADIALgBjAG8AcgBwAC4AbgB6AHQAZQAuAGcAbwB2AHQALgBuAHoABQAiAGMAbwByAHAALgBuAHoAdABlAC4AZwBvAHYAdAAuAG4AegAHAAgAqAfe4IcUzgEAAAAA
Date: Wed, 27 Feb 2013 01:15:06 GMT
Content-Length: 341

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Not Authorized</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Not Authorized</h2>
<hr><p>HTTP Error 401. The requested resource requires user authentication.</p>
</BODY></HTML>
POST /worksite/services/IWOVServices.asmx HTTP/1.1
Accept: */*
User-Agent: Apache CXF 2.7.3
SOAPAction: "http://worksite.imanage.com/GetDocuments"
Transfer-Encoding: chunked
Content-Type: text/xml; charset=UTF-8
Host: myserver.mydomain.com
Connection: Keep-Alive
Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAADoAOgAWAAAAAgACABAAQAAFAAUAEgBAAASABIAXAEAAAAAAABuAQAANQIIIBbsDfykN317xp82pJmgmfemwZLWBvrWX929BW+6DyH0kU1PTL6Ghp4BAQAAAAAAADDWu+CHFM4BpsGS1gb61l8AAAAAAgAIAE4AWgBUAEUAAQAUAEEASwBMAFcAUwBXAEUAQgBUADIABAAiAGMAbwByAHAALgBuAHoAdABlAC4AZwBvAHYAdAAuAG4AegADADgAQQBLAEwAVwBTAFcARQBCAHQAMgAuAGMAbwByAHAALgBuAHoAdABlAC4AZwBvAHYAdAAuAG4AegAFACIAYwBvAHIAcAAuAG4AegB0AGUALgBnAG8AdgB0AC4AbgB6AAcACACoB97ghxTOAQAAAABOAFoAVABFAHMAZQBhAHIAYwBoAGkAbQBhAG4AQQBLAEwARQBTAEUAWABQADEA

1cf
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><GetDocuments xmlns="http://worksite.imanage.com"><ObjectIDs><string>10616126</string></ObjectIDs><OutputProfile><imProfileAttributeID>imProfileAuthor</imProfileAttributeID><imProfileAttributeID>imProfileName</imProfileAttributeID><imProfileAttributeID>imProfileDocNum</imProfileAttributeID></OutputProfile><OutputMask>Profile</OutputMask></GetDocuments></soap:Body></soap:Envelope>
0

HTTP/1.1 401 Unauthorized
Cache-Control: private
Transfer-Encoding: chunked
Content-Type: text/html
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-WorkSite-Version: 8.5.1002.10
Set-Cookie: ASP.NET_SessionId=qs1rxfu12v24djzhw4u4jj45; path=/; HttpOnly
Set-Cookie: virtualPath=/WorkSite; path=/
Set-Cookie: virtualRoot=http://myserver.mydomain.com/WorkSite; path=/
Set-Cookie: keyCode=; path=/
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM
X-Powered-By: ASP.NET
Date: Wed, 27 Feb 2013 01:15:06 GMT

3a
You do not have permission to view this directory or page.
0

                
> Maintain Session (Cookie) is not honoured when using NTLM
> ---------------------------------------------------------
>
>                 Key: CXF-4858
>                 URL: https://issues.apache.org/jira/browse/CXF-4858
>             Project: CXF
>          Issue Type: Bug
>          Components: Transports
>    Affects Versions: 2.7.3
>         Environment: Windows Server 2008 R2 Standard SP1 (Client & Server). 
> JDK6 + 7 both tried (Client).
> IIS 7 (Server)
>            Reporter: Michael Watson
>
> When using the AsyncHTTPConduit in an attempt to authenticate against an IIS based webservice that requires NTLM & an authentication cookie (ASP.NET_SessionId) I see that the NTLM authentication succeeds but because the session cookie is missing the endpoint returns another 401.
> I'll attach wireshark output that demonstrates this behaviour.
> I've narrowed it down to:   
>   HTTPConduit$WrappedOutputStream#authorizationRetransmit()
> where authorizationToken below is always null when using NTLM so it returns false and doesn't continue down to the block of code about 6 lines down that sets the cookies!
> String authorizationToken =   
>   authSupplier.getAuthorization(effectiveAthPolicy, currentURI, outMessage,   
>                                 authHeader.getFullHeader());
> if (authorizationToken == null) {
>   // authentication not possible => we give up
>   return false;
> }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira