Boa tarde Pessoal,
tenho o seguinte Json,
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page import="com.br.util.funcoesValidacao"%>
<%
session = request.getSession();
String machine = null;
String user = null;
String auth = request.getHeader("Authorization");
if (auth == null) {
response.setStatus(response.SC_UNAUTHORIZED);
response.setHeader("WWW-Authenticate", "NTLM");
return;
}
if (auth.startsWith("NTLM ")) {
byte[] msg =
new sun.misc.BASE64Decoder().decodeBuffer(auth.substring(5));
int off = 0, length, offset;
String s;
if (msg[8] == 1) {
off = 18;
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, //
z, z, z, z, z, z, z, z};
//
response.setStatus(response.SC_UNAUTHORIZED);
response.setHeader("WWW-Authenticate", "NTLM "
+ new sun.misc.BASE64Encoder().encodeBuffer(msg1).trim());
return;
}
else if (msg[8] == 3) {
off = 30;
length = msg[off+17]*256 + msg[off+16];
offset = msg[off+19]*256 + msg[off+18];
s = new String(msg, offset, length);
//out.println(s + " ");
machine = s.toString();
}
else
return;
length = msg[off+1]*256 + msg[off];
offset = msg[off+3]*256 + msg[off+2];
s = new String(msg, offset, length);
//out.println(s + " ");
length = msg[off+9]*256 + msg[off+8];
offset = msg[off+11]*256 + msg[off+10];
s = new String(msg, offset, length);
user = s.toString();
session.setAttribute("vUser",user);
System.out.println("Atribuiu para o session");
out.println("'" + user + "-" + machine + "'");
}
%>
Para buscar o meu usuario logado na maquina.
e chamo ele através da seguinte pagina
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Portal de Suporte ao Comissionamento</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta http-equiv="X-UA-Compatible" content="IE=8" />
<link href='http://fonts.googleapis.com/css?family=Droid+Sans' rel='stylesheet' type='text/css'>
<link href="style.css" media="screen" rel="stylesheet" type="text/css">
<link href="iconic.css" media="screen" rel="stylesheet" type="text/css">
<script src="prefix-free.js"> </script>
<!--[if IE]>
<script type="text/javascript">
document.createElement("article");
document.createElement("nav");
document.createElement("details");
document.createElement("figcaption");
document.createElement("hgroup");
document.createElement("section");
document.createElement("header");
document.createElement("aside");
document.createElement("figure");
document.createElement("menu");
document.createElement("legend");
document.createElement("hover");
document.createElement("footer");
</script>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif] -->
<script type="text/javascript">
var url = "ajax.jsp";
var xmlhttp;
try {
//cria o objeto caso o Browser
//seja compatível com o W3C
xmlhttp = new XMLHttpRequest();
} catch(e) {
//caso IE < IE7
//array com versões conhecidas
//de implementações do ActiveX
var msxml = [
'MSXML2.XMLHTTP.3.0',
'MSXML2.XMLHTTP',
'Microsoft.XMLHTTP'];
for ( var i=0, len = msxml.length; i < len; ++i ) {
try {
//varre o array até identificar qual ActiveX
xmlhttp = new ActiveXObject(msxml[i]); break;
} catch(e) {}
}
}
xmlhttp.open("GET", url, true);
xmlhttp.onreadystatechange = function(){
if (xmlhttp.readyState==4){
var vConteudo = xmlhttp.responseText;
for(var i = 0; i < vConteudo.length; i++){
}
}
}
xmlhttp.send(null);
xmlhttp.open("GET", url, true);
xmlhttp.onreadystatechange = function(){
if (xmlhttp.readyState==4){
var vConteudo = xmlhttp.responseText;
for(var i = 0; i < vConteudo.length; i++){
}
}
}
xmlhttp.send(null);
</script>
</head>
<body>
<%
session = request.getSession();
String vUser = (String) session.getAttribute("vUser");
%>
<%=vUser%>
</body>
</html>
O problema e que alguma vezes o resultado da busca e nula. e ao dar um refresh na pagina ele aparece.
O que parece que o mesmo em alguns momentos não está sendo executado.
Alguem poderia me ajudar a solucionar este misterio ?
grato,