CAS整合JIRA系统说明
?
CAS客户端已经提供了对JIRA的支持,并且提供有相应的JAR包,CAS官网上也有了详细的配置说明,貌似无需再费口舌,不过有些小地方还是需要注意一下的,在此简单说明一下配置方式及注意事项。
?
CAS服务器:3.4.2
CAS客户端:3.1.10
JIRA:3.12.1
JIRA整合到CAS只需要修改两个文件,一个是jira工程下的web.xml文件,一个是seraph-config.xml文件。
在配置这两个文件之前先将CAS客户端的JAR包拷备到JIRA工程的LIB目录下。
关于WEB.XML文件的配置就不说明了,和普通JAVA系统的配置方式是一样的,五个Filter和一个Listener,只要mapping的顺序正确了就没问题。
主要是seraph-config.xml,该文件位于$JIRA_HOME$/WEB-INF/classes/目录下,需要修改两个地方:
1:在该文件中找到login.url、link.login.url和logout.url,将这三个配置项的value设置了CAS对应的登录及登出地址即可。
2:修改JIRA默认的认证配置,其默认的配置是:
<authenticator style="margin: 0cm 0cm 10pt;">??更改为:
<authenticator style="margin: 0cm 0cm 10pt;">?即可。注意
当通过使用以上方法进行了JIRA整合后,JIRA就实现了单点登录以及单点退出的功能。
当访问JIRA应用时,将转向CAS登录界面进行认证,用户输入用户名及口令后,是否能成功登录到JIRA,视JIRA中是否存在同名账号而定,也就是说你进行登录时使用的用户名是“abc”,那么JIRA中就必须存在“abc”账号才可以成功登录,否则还是会显示JIRA的登录页面。
在配置过程中,虽然按照说明正确配置,并且用户名也保护了同步,但还是没有成功进入JIRA,经过跟踪才发现,当CAS为JIRA应用颁发了ST票据后,JIRA携带ST票据到CAS进行验证,而验证结束返回给JIRA结果时,因为返回的信息是XML信息,包含用户名的标签中存在空格或者换行符,所以最后导致失败,去掉其中的空格或者换行符就OK了。