I am attaching a WAR file which uses code to obtain the user id via NTLM.
This code works fine on Tomcat and Weblogic 9.2 on unix (if i do not use
<s:form/> in the Home.jsp - I do not know why that breaks
http://www.nabble.com/file/p16032835/NTLM1.war NTLM1.war )

This WAR does not work on Weblogic 9.2 Windows 2000 as i get the following
error
Header:WWW-Authenticate Cannot contain CRLF Charcters

Here is the code in the Action class.
*******************************************
package com.dgv.actions;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.interceptor.SessionAware;

import com.dgv.security.NTLMLogin;
import com.dgv.util.Util;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.Preparable;

public class BaseAction extends ActionSupport
implements SessionAware, ServletRequestAware, ServletResponseAware,
Preparable{

         private Map session;
         private HttpServletRequest request;
         private HttpServletResponse response;

        public void setSession(Map arg0) {
                this.session = arg0;            
        }

        

        public void setServletRequest(HttpServletRequest arg0) {
                // TODO Auto-generated method stub
                this.request = arg0;
        }
        public HttpServletRequest getServletRequest() {
                // TODO Auto-generated method stub
                return request;
        }



        public void prepare() throws Exception {
                
        System.out.println("Entered Prepare Method");
                String auth = request.getHeader("Authorization");
                if (auth == null) {
                        System.out.println("Inside Null");
                response.setStatus(response.SC_UNAUTHORIZED);
                response.setHeader("WWW-Authenticate", "NTLM");
                return;
                }
                System.out.println("outside Null");
                if (auth.startsWith("NTLM ")) { 
                        byte[] msg = new
sun.misc.BASE64Decoder().decodeBuffer(auth.substring(5));
                int off = 30, length=0, offset;
                String s;

                if (msg[8] == 1) { // first step of authentication
                off = 18;

                // this part is for full hand-shaking, just tested, didn't care 
about
result passwords
                byte z = 0;
                byte[] msg1 = {(byte)'N', (byte)'T', (byte)'L', (byte)'M', 
(byte)'S',
(byte)'S', (byte)'P', z,
                (byte)2, z, z, z, z, z, z, z,
                (byte)40, z, z, z, (byte)1, (byte)130, z, z,
                z, (byte)2, (byte)2, (byte)2, z, z, z, z, // this line is 
'nonce'
                z, z, z, z, z, z, z, z};
                // remove next lines if you want see the result of first step
                response.setStatus(response.SC_UNAUTHORIZED);
                System.out.println("Before Setting Header");
                response.setHeader("WWW-Authenticate", "NTLM " + new
sun.misc.BASE64Encoder().encodeBuffer(msg1));
                System.out.println("Header:"+ 
request.getHeader("WWW-Authenticate"));
                return;
                
                
                } else
                //return;

                
                length = msg[off+9]*256 + msg[off+8];
                offset = msg[off+11]*256 + msg[off+10];
                s = new String(msg, offset, length);
                System.out.println("**USER**** "+s + "");
                }
                
        }
        public void setServletResponse(HttpServletResponse arg0) {
                this.response = arg0;
                
        }



        public HttpServletResponse getServletResponse() {
                return response;
        }

}



**********************************************
Any help would be greatly appreciated.
-- 
View this message in context: 
http://www.nabble.com/Struts-2-Weblogic-and-NTLM-tp16032835p16032835.html
Sent from the Struts - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to