Pregunta

Tengo bastantes scripts de GreaseMonkey que escribí en mi trabajo que iniciar sesión automáticamente en los sitios internos que tenemos aquí.Me las he arreglado para escribir un guión para casi cada uno de estos sitios, a excepción de nuestra hoja de tiempo de la aplicación, que utiliza la autenticación HTTP.

Hay una manera que puedo utilizar GreaseMonkey que me registro en este sitio de forma automática?

Editar:Soy consciente de la contraseña del almacén de la funcionalidad de los navegadores, pero mis scripts ir un paso más allá mediante la comprobación de si estoy registrado en el sitio cuando las cargas (por la que atraviesan HTML) y, a continuación, enviar un correo a la página de inicio de sesión.Esto elimina el paso de tener que cargar el sitio, ingresando a la página de inicio de sesión, entra en mis credenciales, a continuación, pulsar enviar

¿Fue útil?

Solución

Es posible iniciar sesión utilizando autenticación de HTTP mediante el establecimiento de la "Autorización" del encabezado HTTP, con el valor de este encabezado se establece con la cadena "básica nombre de usuario:contraseña", pero con el "nombre de usuario:contraseña" parte de la cadena codificada en Base 64.

http://frontier.userland.com/stories/storyReader$2159

Un poco de investigación encontró que el GreaseMonkey tiene una función integrada en donde usted puede enviar GET / POST peticiones al servidor llamado GM_xmlhttpRequest

http://diveintogreasemonkey.org/api/gm_xmlhttprequest.html

Para ponerlo todo junto (y también el código JavaScript para convertir cadenas en base64 me sale el siguiente

http://www.webtoolkit.info/javascript-base64.html

var loggedInText = document.getElementById('metanav').firstChild.firstChild.innerHTML;
if (loggedInText != "logged in as jklp") {
    var username = 'jklp';
    var password = 'jklpPass';
    var base64string = Base64.encode(username + ":" + password);

    GM_xmlhttpRequest({
        method: 'GET',
        url: 'http://foo.com/trac/login',
        headers: {
            'User-agent': 'Mozilla/4.0 (compatible) Greasemonkey/0.3',
            'Accept': 'application/atom+xml,application/xml,text/xml',
            'Authorization':'Basic ' + base64string,
        }
    });
}

Así que cuando ahora me visita el sitio, se recorre el árbol DOM, y si no estoy conectado, automágicamente registros de mí.

Otros consejos

La autenticación de HTTP que se envía la información en cada solicitud, no sólo para iniciar sesión en.El navegador en la memoria caché la información de inicio de sesión para la sesión después de iniciar sesión en el primer tiempo.Así que, realmente no guardar nada por intentar comprobar si ya ha iniciado sesión en.

Usted también podría olvidarse de greasemonkey por completo y simplemente dar a su inicio de sesión en la url así:

http://username:password@host/

Por supuesto, el ahorro esta en un marcador puede ser un riesgo de seguridad, pero no más, de modo que guardar su contraseña en el navegador.

Por qué no utilizar Firefox (yo asumo que usted está usando Firefox) para recordar sus credenciales de uso de la Contraseña del Administrador?

He encontrado este enlace: HTTP de Autenticación de Formularios HTML.Se ve como se puede usar javascript para hacer la autenticación HTTP.Yo no creo que usted puede tener Greasemonkey interrumpir cuando eres el primero en navegar a una URL, aunque.Usted podría tener para la instalación de algún tipo de punto de lanzamiento que usted puede utilizar para greasemonkey redirigir automáticamente + de inicio de sesión.Por ejemplo, usted puede tener la página local que lleva a la URL de destino en la cadena de consulta, han Greasemonkey automáticamente la autenticar + redirección.El único problema es que tendrás que envolver el sitio de marcadores con el lanzamiento de la página para los marcadores se utilizan como puntos de entrada.

"http://username:password@host/"no funciona en IE, FireFox funciona ok.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top