JIRA Single Sign-On

De Wikillano

Para realizar las pruebas se han utilizado las siguientes maquinas vmware.

  • Ubuntu GNU/linux TOMCAT5.5/MYSQL5/JIRA3.12
  • Windows 2k3 server con el dominio DEMO.ORG configurado, esta maquina también es servidor DNS, el dominio resuelve sin problemas.
  • Windows XP en el dominio demo.org, para realizar las pruebas SSO.
== bajarse el modulo NTLM for Jira ==

http://confluence.atlassian.com/display/JIRAEXT/NTLM+Authentication

una vez bajado el paquete lo descomprimimos y copiamos los ficheros jcifs-1.2.13.jar y ntlmauth4jira-0.5.2.jar en

$JIRA_HOME/webapp/WEB-INF/lib


el fichero ntlm_ldap.properties en:

$JIRA_HOME/webapp/WEB-INF/classes/

una vez todo está copiado vamos a configurar:

modificamos el fichero web.xml en

$JIRA_HOME/webapp/WEB-INF


realizando los siguientes cambios

buscar el filtro "login" (buscar por "<filter-name>login</filter-name>")

Remplazar la siguiente sección:

		<filter-name>login</filter-name>
		<filter-class>com.atlassian.seraph.filter.LoginFilter</filter-class>
	</filter>

Por esto:

		<filter-name>login_jira</filter-name>
		<filter-class>com.atlassian.seraph.filter.LoginFilter</filter-class>
	</filter>
	<filter>
		<filter-name>login_ntlm</filter-name>
		<filter-class>ro.softwin.elearning.jiratools.NTLMLoginFilter</filter-class>
		<init-param>
			<param-name>configuration</param-name>
			<param-value>ntlm_ldap.properties</param-value>
		</init-param>
	</filter>


bajamos más abajo, y remplazamos la sección:

<filter-name>login</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

por lo siguiente:

<filter-name>login_jira</filter-name>
<url-pattern>/rpc/*</url-pattern>
</filter-mapping>
 <filter-mapping>
  <filter-name>login_ntlm</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>

ahora modificaremos el fichero

WEB-INF/classes/log4j.properties

para poder ver los mensajes de log.

log4j.category.ro.softwin.elearning.jiratools = WARN, console
log4j.additivity.ro.softwin.elearning.jiratools = false

Podemos cambiar WARN por DEBUG si queremos más detalle, (recomendable)

Ahora toca el fichero que copiamos antes:

$JIRA_HOME/webapp/WEB-INF/classes/ntlm_ldap.properties
#nuestro dominio en MAYUS
domains = DEMO

#esta opcion la debemos poner si tenemos nuestro Jira en una maquina linux y no queremos ponerla en el dominio
domainController = 172.24.53.92

java.naming.security.authentication = simple

java.naming.provider.url = ldap://172.24.53.92:389
searchBase = OU=people,DC=DEMO,DC=ORG

#usuario con permisos para poder realizar busquedas en el ldap
java.naming.security.principal =DEMO\\administrador
java.naming.security.credentials =sota

#Atributos necesarios para  se creen los usuarios automáticamente en jira
#LDAP attribute names; the default values are appropiate for an Active Directory

uidAttribute = sAMAccountName

fullNameAttribute = displayName

emailAttribute = mail

groupMemberAttribute = memberOf

#para que se creen auto...
autoCreate = yes

Importante: Los usuarios que quieran validarse contra Jira deberán existir en el mismo, los podemos crear a mano o migrarlos, otra de las maneras es activar la opción autocreate para que se cree automaticamente, si IE explorer nos pide user/passwd es porque debemos ajustar el nivel de seguridad en Opciones de Internet, si no queremos modificarlo siempre podemos añadir la URL a nuestros sitios seguros.

Herramientas personales