Inicio de sesión único (3) | Instalación de JIRA e integración de JIRA práctica CAS

Inicio de sesión único (3) | Instalación de JIRA e integración de JIRA práctica CAS

Autor: Adon
micro-channel public number: IT's Jiege trip (ID: Jake_Internet)

Introducción a JIRA
Jira es un software de gestión empresarial producido por atlassian. Ya sea un requisito, un ERROR o una tarea, es un tipo de negocio, por lo que JIRA puede realizar muchas funciones: gestión de requisitos, seguimiento de defectos, gestión de tareas, etc.

Jira proporciona una vista especial de scrum y una vista kanban, por lo que es adecuada para un equipo de desarrollo ágil.


Problema de concepto básico de la herramienta : diferentes organizaciones usan jira para rastrear diferentes problemas. El proyecto de Jira se personaliza de acuerdo con la organización corporativa y es una colección de problemas.
Módulo: un módulo de proyecto es una colección lógica de problemas en el proyecto. Cada proyecto puede configurar varios módulos de acuerdo con los requisitos de la organización empresarial.
Por ejemplo: un proyecto de desarrollo de software puede configurar módulos como "documento", "sistema de correo" e "interfaz de usuario".

Versión: para algunos tipos de proyectos, especialmente proyectos de desarrollo de software, la versión del producto asociada con el problema es muy útil.
Se pueden establecer dos tipos de información de versión para una pregunta.
Versión afectada ---- Puede reflejar claramente en qué versión el problema tiene un error.
Por ejemplo: un defecto de software puede afectar 1.1 y 1.2 del producto

Versión reparada ----- puede reflejar en qué versión estará el problema informado o en qué versión se ha solucionado.
Por ejemplo: Un defecto de software afecta a las versiones 1.1 y 1.2 del producto Este defecto se ha corregido en la versión 2.0. Tenga en cuenta que los problemas que no se hayan solucionado se clasificarán como planificación.
Las versiones pueden tener 3 estados: las
versiones publicadas, no publicadas y archivadas pueden establecer la fecha de publicación, y jira resaltará automáticamente la versión vencida que no ha sido lanzada y marcará el signo "vencida".


Entorno de instalación :
Centos 7
Jdk-1.8
Mysql-5.6
Jira-7.8.1

Ver la versión de Java

# java -version

La instalación de Mysql (yum)
instala mysql, que es la base de datos, el nombre de usuario y la contraseña que comúnmente corresponden a jira.

yum instalar wget

Descargar la fuente de mysql

安装rpm包
# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

安装后,会得到两个mysql的yum的repo源
# rpm -ivh mysql-community-release-el7-5.noarch.rpm

安装mysql
# yum install mysql-server mysql-client

启动mysql
# systemctl enable mysqld
# systemctl start mysqld

重置mysql密码
# mysql -u root 
> use mysql;
> update user set password=password(‘new passed’) where user=’user_name’;
> flush privileges;
> create database jira default characher set utf8 collate utf8_bin;
> show databases;
> grant all on jira. To ‘jira’@’%’ indentified by ‘jirapasswd’;
> flush privileges;

Descargue e instale jira para
ver el bitness del sistema Linux

# genconf LONG_BIT
64


Dirección del sitio web de descarga de Jira : https://www.atlassian.com/software/jira/update

# wget https://product-downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-7.8.1-x64.bin
# chmod 755 ./atlassian-jira-software-7.8.1-x64.bin
# ./atlassian-jira-software-7.8.1-x64.bin
Unpacking JRE ...
Starting Installer ...
This will install JIRA Software 7.4.1 on your computer.
OK [o, Enter], Cancel [c]
o                                                               # 按o安装
Choose the appropriate installation or upgrade option.
Please choose one of the following:
Express Install (use default settings) [1], Custom Install (recommended for advanced users) [2, Enter], Upgrade an existing JIRA installation [3]
2                                                               # 2 为自定义安装
Where should JIRA Software be installed?
[/opt/atlassian/jira]
/usr/local/atlassina/jira                                       # 自定义安装目录
Default location for JIRA Software data
[/var/atlassian/application-data/jira]
/usr/local/atlassina/jira_data                                  # 自定义数据目录
Configure which ports JIRA Software will use.
JIRA requires two TCP ports that are not being used by any other
applications on this machine. The HTTP port is where you will access JIRA
through your browser. The Control port is used to startup and shutdown JIRA.
Use default ports (HTTP: 8080, Control: 8005) - Recommended [1, Enter], Set custom value for HTTP and Control ports [2]
2                                                               # 2为自定义端口
HTTP Port Number
[8080]                                                          # 8080 为默认端口
8050                                                            # http连接端口
Control Port Number
[8005]
8040                                                            # 控制端口
JIRA can be run in the background.
You may choose to run JIRA as a service, which means it will start
automatically whenever the computer restarts.
Install JIRA as Service?
Yes [y, Enter], No [n]
y                                                               # 是否开机自启
Details on where JIRA Software will be installed and the settings that will be used.
Installation Directory: /usr/local/atlassina/jira 
Home Directory: /usr/local/atlassina/jira_data 
HTTP Port: 8050 
RMI Port: 8040 
Install as service: Yes 
Install [i, Enter], Exit [e]
i                                                               # 确认已选配置

Extracting files ...
Please wait a few moments while JIRA Software is configured.
Installation of JIRA Software 7.4.1 is complete
Start JIRA Software 7.4.1 now?
Yes [y, Enter], No [n]
y                                                               # 启动
Please wait a few moments while JIRA Software starts up.
Launching JIRA Software ...
Installation of JIRA Software 7.4.1 is complete
Your installation of JIRA Software 7.4.1 is now ready and can be accessed
via your browser.
JIRA Software 7.4.1 can be accessed at http://localhost:8050
Finishing installation ...

Modifique el puerto predeterminado de
Jira instalado en los directorios / opt / Atlassian / jira y / var / Atlassian / application-data / jira, y el puerto que escucha jira es 8080. El archivo de configuración principal de Jira se almacena en el archivo /opt/Atlassian/jira/conf/server.xml.

# vim /opt/Atlassian/jira/conf/server.xml
# cd /opt/Atlassian/jira/bin
# ./start-jira.sh

Para crackear JIRA
, primero cierre jira, copie los dos archivos atlassian-extras-3.2.jar y mysql-connector-java-5.1.39-bin.jar en el paquete crackeado a / opt / Atlassian / jira / Atlassian-jira / WEB - Directorio INF / lib

Atlassian-extras-3..2.jar se usa para descifrar el sistema jira
Mysql-connectir-java para conectarse al paquete del controlador de la base de datos mysql

# cp mysql-connector-java-5.1.47.jar /opt/atlassian/jira/lib/
# cp ./atlassian-extras-3.2.jar /opt/atlassian/jira/atlassian-jira/WEB-INF/lib

También puede registrarse en el sitio web oficial durante 30 días utilizando el código de registro:
Registre el sitio web oficial: https://my.atlassian.com
o utilice la siguiente dirección:
https://id.atlassian.com/signup?application = mac & continue = https: / /my.atlassian.com Después de
iniciar sesión en la cuenta, seleccione Nueva licencia de evaluación

Inicio de sesión único (3) | Instalación de JIRA e integración de JIRA práctica CAS
Copie la clave generada en la figura anterior a la página

Inicio de sesión único (3) | Instalación de JIRA e integración de JIRA práctica CAS
Configurar usuario administrador
Inicio de sesión único (3) | Instalación de JIRA e integración de JIRA práctica CAS

La instalación se ha completado.
Inicio de sesión único (3) | Instalación de JIRA e integración de JIRA práctica CAS


Artículo de referencia de cas de integración de Jira : https://github.com/apereo/java-cas-client#atlassian-integration
descargar dirección del paquete de dependencia de cas-client: http://central.maven.org/maven2/org/jasig/cas /cliente/

Arreglo de ideas
La implementación del cliente de Cas se realiza configurando los filtros y oyentes de cas en el lado del cliente, y se configura en primer lugar para monitorear la sesión del subsistema y recibir los comandos enviados por el servidor de cas.
Jira tiene su propio mecanismo de autenticación para el inicio y cierre de sesión del usuario. El inicio de sesión de Jira se basa principalmente en el autenticador com.atlassian.jira.security.login.JiraSeraphAuthenticator para la autenticación.
Luego, configure la dependencia del cliente de cas en el archivo de configuración de jira y reemplace El autenticador de Jira puede realizar la integración de cas, y el sitio web oficial de cas proporciona paquetes jar relacionados e instrucciones de configuración.

Pasos principales
1. Configure web.xml, debe prestar atención a la ubicación de los filtros y oyentes.
2. Configure seraph-config.xml, establezca la dirección de salto.
3. Copie los paquetes dependientes en el directorio jira, debe prestar atención a dos paquetes La versión debe ser consistente

Proceso
1. Configurar web.xml

Necesita configurar el filtro y el oyente dos configuraciones

# vim /opt/Atlassian/jira/Atlassian-jira/WEB-INF/web.xml
a.配置cas的过滤器
    <!-- CAS:START - JAVA Client Filters -->
    <filter>
         <filter-name>CasSingleSignOutFilter</filter-name>
         <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
    </filter>
    <filter>
         <filter-name>CasAuthenticationFilter</filter-name>
         <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
         <init-param>
              <param-name>casServerLoginUrl</param-name>
              <param-value>http://192.168.1.133:8080/cas/login</param-value>
         </init-param>
         <init-param>
              <param-name>serverName</param-name>
              <param-value>http://192.168.1.20:8080/</param-value>
         </init-param>
    </filter>
    <filter>
         <filter-name>CasValidationFilter</filter-name>
         <filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>
         <init-param>
               <param-name>casServerUrlPrefix</param-name>
               <param-value>http://192.168.1.133:8080/cas/</param-value>
         </init-param>
         <init-param>
               <param-name>serverName</param-name>
               <param-value>http://192.168.1.20:8080/</param-value>
         </init-param>
         <init-param>
               <param-name>redirectAfterValidation</param-name>
               <param-value>true</param-value>
         </init-param>
    </filter>
<!-- CAS:END-->

<!-- CAS:START Java client filter mappings-->
    <filter-mapping>
          <filter-name>CasSingleSignOutFilter</filter-name>
          <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
          <filter-name>CasAuthenticationFilter</filter-name>
          <url-pattern>/*</url-pattern>
          <!--需要全匹配,不然就会直接可以访问到登录页面的问题-->
    </filter-mapping>
    <filter-mapping>
          <filter-name>CasValidationFilter</filter-name>
          <url-pattern>/*</url-pattern>
     </filter-mapping>
  <!--CAS:END-->
     <filter-mapping>
          <filter-name>login</filter-name>
          <url-pattern>/*</url-pattern>
          <dispatcher>REQUEST</dispatcher>
          <dispatcher>FORWARD</dispatcher>
     </filter-mapping>

Introducción a la configuración de filtros

Inicio de sesión único (3) | Instalación de JIRA e integración de JIRA práctica CAS
Instrucciones de configuración de mapeo de filtros

La asignación debe configurarse en el filtro de inicio de sesión


b.配置监听器
<listener>
          <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
</listener>

La configuración del
oyente indica que el oyente debe configurarse por encima o por debajo del párrafo NO AÑADIR NINGÚN LISTEN DE CONTEXTO DE SERVLET.

Inicio de sesión único (3) | Instalación de JIRA e integración de JIRA práctica CAS
2. Configure seraph-config.xml

Necesita modificar seraph-config.xml, cambiar la autorización a cas y configurar la información de inicio de sesión y cierre de sesión

a. Configurar la información de inicio y cierre de sesión

# vim /opt/atlassian/jira/atlassian-jira/WEB-INF/classes/seraph-config.xml
-->
            <param-name>login.url</param-name>
            <param-value>http://192.168.1.133:8080/cas/login?service=${originalurl}</param-value>
<!--
            <param-value>/login.jsp?permissionViolation=true&amp;os_destination=${originalurl}&amp;page_caps=${pageCaps}&amp;user_role=${userRole}</param-value>
-->
            <!--<param-value>http://sso.mycompany.com/login?redirectTo=${originalurl}</param-value>-->
        </init-param>
        <init-param>
            <!--
              the URL to redirect to when the user explicitly clicks on a login link (rather than being redirected after
              trying to access a protected resource). Most of the time, this will be the same value as 'login.url'.
                - same properties as login.url above
            -->
            <param-name>link.login.url</param-name>
            <param-value>http://192.168.1.133:8080/cas/login?service=${originalurl}</param-value>

<!--
            <param-value>/login.jsp?os_destination=${originalurl}</param-value>
-->
            <!--<param-value>/secure/Dashboard.jspa?os_destination=${originalurl}</param-value>-->
            <!--<param-value>http://sso.mycompany.com/login?redirectTo=${originalurl}</param-value>-->
        </init-param>
        <init-param>
            <!-- URL for logging out.
                 - If relative, Seraph just redirects to this URL, which is responsible for calling Authenticator.logout().
                 - If absolute (eg. SSO applications), Seraph calls Authenticator.logout() and redirects to the URL
                 -->
            <param-name>logout.url</param-name>
            <param-value>http://192.168.1.133:8080/cas/logout</param-value>
            <!--<param-value>/secure/Logout!default.jspa</param-value>-->
            <!--<param-value>http://sso.mycompany.com/logout</param-value>-->
        </init-param>

Inicio de sesión único (3) | Instalación de JIRA e integración de JIRA práctica CAS

Configure el método de autorización de cas, tenga en cuenta el método de autenticación original

Inicio de sesión único (3) | Instalación de JIRA e integración de JIRA práctica CAS
3. Copie el paquete de dependencia de cas

Copie el paquete jar del que depende el cliente cas (cas-client-core-3.3.3.jar, cas-client-integration-atlassian-3.3.3.jar) en / opt / atlassian / jira / Atlassian-jira / WEB -INF / lib


#  cp cas-client-* /opt/atlassian/jira/atlassian-jira/WEB-INF/lib/

4. Reinicia el servicio de jira.

Empieza el servicio

# /opt/Atlassian/jira/bin/start-jira.sh
关闭服务
# /opt/Atlassian/jira/bin/shutdown.sh
#查看日志
# tail -f /opt/Atlassian/jira/logs/Catalina.out

Posibles problemas
1.com.atlassian.plugin.osgi.container.OsgiContainerException: No se puede iniciar el complemento: com.atlassian.jira.plugins.jira-development-integration-plugin
Razón: El problema del paquete de idioma existe al descifrar la Pregunta
2. Para
agregar servicios a casa para servicios no autenticados , también necesita configurar cas.serviceRegistry.initFromJson = true en ./tomcat/webapps/cas/WEB-INF/class/application.properties, para que cas pueda inicializar datos desde json.

Los
pasos principales para que Confluence integre cas :
1. Configure el archivo web.xml, establezca el filtro y combine
2. Configure seraph-config.xml, configure el acceso a la información de cas
3. Modifique xwork.xml (este archivo existe en confluence -3.0. 1.jar), configurar el cierre de sesión
4. Importe el paquete jar para iniciar sesión en cas
5. Reinicie el servicio cas
6. Prueba de inicio de sesión

1. Configurar web.xml

Edite web.xml para agregar filtros y oyentes

# vim /opt/Atlassian/confluence/confluence/confluence/WEB-INF/web.xml

Definición de filtro: detrás de todos los filtros, configure el filtro cas

<!—配置过滤器和cas以及本地服务的路径信息>
<!--CAS:START - Java Client Filters-->
    <filter>
        <filter-name>CasSingleSignOutFilter</filter-name>
        <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
    </filter>
    <filter>
        <filter-name>CasAuthenticationFilter</filter-name>
        <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
        <init-param>
            <param-name>casServerLoginUrl</param-name>
            <param-value>http://192.168.1.136:8080/cas/login</param-value>
        </init-param>
        <init-param>
            <param-name>serverName</param-name>
            <param-value>http://192.168.1.30:8090/</param-value>
        </init-param>
    </filter>
    <filter>
        <filter-name>CasValidationFilter</filter-name>
        <filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>
        <init-param>
            <param-name>casServerUrlPrefix</param-name>
            <param-value>http://192.168.1.136:8080/cas/</param-value>
        </init-param>
        <init-param>
            <param-name>serverName</param-name>
            <param-value>http://192.168.1.30:8090/</param-value>
        </init-param>
    </filter>
<!--CAS:END-->

Inicio de sesión único (3) | Instalación de JIRA e integración de JIRA práctica CAS
Filtrar coincidencias, coincidencias al iniciar sesión


<!-- End plugins 2.5 filter changes -->
    <!--CAS:START - Java Client Filter Mappings-->
    <filter-mapping>
         <filter-name>CasSingleSignOutFilter</filter-name>
         <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
         <filter-name>CasAuthenticationFilter</filter-name>
         <url-pattern>/login.action</url-pattern>
    </filter-mapping>
    <filter-mapping>
         <filter-name>CasValidationFilter</filter-name>
         <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!--CAS:END -->
    <filter-mapping>
        <filter-name>login</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>FORWARD</dispatcher>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>ERROR</dispatcher>
</filter-mapping>

Inicio de sesión único (3) | Instalación de JIRA e integración de JIRA práctica CAS
Dirección de configuración del oyente

Antes de todos los oyentes, configure los oyentes, es decir, después del párrafo de los oyentes de contexto del servlet (ejecutados al inicio / apagado de la aplicación), configure los oyentes

<listener>
        <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
</listener>

Inicio de sesión único (3) | Instalación de JIRA e integración de JIRA práctica CAS
2. Configure seraph-config.xml

Configure seraph-config.xml, configure el acceso a la información de inicio de sesión de cas y configure la información de autorización de confluencia en cas

#  vim /opt/Atlassian/confluence/confluence/WEB-INF/classes/seraph-config,xml

Modificar la configuración de inicio de sesión predeterminada


<parameters>
        <init-param>
            <param-name>login.url</param-name>
          <!--  <param-value>/login.action?os_destination=${originalurl}&amp;permissionViolation=true</param-value>
                -->
            <param-value>http://192.168.1.136:8080/cas/login?service=${originalurl}</param-value>
        </init-param>
        <init-param>
            <param-name>link.login.url</param-name>
           <!-- <param-value>/login.action</param-value>-->
            <param-value>http://192.168.1.136:8080/cas/login?service=${originalurl}</param-value>
        </init-param>
        <init-param>
设定授权信息
   <!-- Default Confluence authenticator, which uses the configured user management for authentication. -->
  <!--  <authenticator class="com.atlassian.confluence.user.ConfluenceAuthenticator"/>-->
    <authenticator class="org.jasig.cas.client.integration.atlassian.ConfluenceCasAuthenticator"/>

Inicio de sesión único (3) | Instalación de JIRA e integración de JIRA práctica CAS

Inicio de sesión único (3) | Instalación de JIRA e integración de JIRA práctica CAS
3. Configurar el cierre de sesión

Para obtener el archivo xwork.xml, debe obtener el archivo confluence-6.9.0.jar del directorio lib y copiar el paquete jar en un directorio para la descompresión

# `` `
cp /opt/Atlassian/confluence/confluence/WEB-INF/lib/confluence-6.9.0.jar / home / ceshi /

yum install -y descomprimir

descomprimir confluence-6.9.0.jar -d / home / ceshi / confluence

Copie el archivo xwork.xml obtenido en el directorio / opt / Atlassian / confluence / confluence / WEB-INF / classes

cp /home/ceshi/confluence/xwork.xml /opt/Atlassian/confluence/confluence/WEB-INF/classes/xwork.xml

vim /opt/Atlassian/confluence/confluence/WEB-INF/classes/xwork.xml


设定退出重定向到cas服务器上

<action name = "logout" class = "com.atlassian.confluence.user.actions.LogoutAction">
<interceptor-ref name = "defaultStack" />
<! - <result name = "error" type = "velocity" > /logout.vm </result> ->
<result name = "success" type = "redirect"> http://192.168.1.136:8080/cas/logout </result> ;
</acción>



![](https://s4.51cto.com/images/blog/202101/25/971ab3b78f039b56a04b5566e38f0be0.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

**4.添加jar包**

添加的jar包为csa-client-core-3.3.3.jar和cas-client-integration-atlassian-3.5.0.jar,貌似版本不同不会报错

# cp ./cas-client* /opt/Atlassian/confluence/confluence/WEB-INF/lib/

**5.重启confluence服务**

# /opt/Atlassian/confluence/bin/stop-confluence.sh
# /opt/Atlassian/confluence.bin/start-confluence.sh
6.登录测试

Supongo que te gusta

Origin blog.51cto.com/15067236/2606461
Recomendado
Clasificación