Details
-
Bug
-
Resolution: Fixed
-
Low
-
4.0.0
-
None
Description
Summary
The documentation Connecting to Crowd to configure SSO for FishEye contains the following suggestion to modify FishEye config.xml file to achieve it.
The example provided is:
<config> ... <security> ... <ajp... <crowd sso-enabled="true"/> <custom... ... </security> ... </config>
however placing <crowd sso-enabled="true"/> as the first element of the security tag throws a ConfigException during FishEye startup while trying to parse the file.
Steps to Reproduce
- Open $FISHEYE_INST/config.xml
- Add the crowd configuration as the first element of the <security> tag:
<security allow-anon="false" allow-cru-anon="false"> <crowd sso-enabled="true"/> <built-in> <signup enabled="true"/> </built-in> <admins> <system-admins> <group>confluence-users</group> </system-admins> </admins> <avatar><disabled/></avatar> <emailVisibility/> </security>
- Start FishEye
Expected Results
FishEye starting normally with SSO enabled.
Actual Results
FishEye does not start and the following is showed in $FISHEYE_INST/var/log/fisheye.out:
2016-04-20 18:34:08,209 ERROR - at line 124: Expected elements 'custom@http://www.cenqua.com/fisheye/config-1 admins@http://www.cenqua.com/fisheye/config-1 avatar@http://www.cenqua.com/fisheye/config-1 emailVisibility@http://www.cenqua.com/fisheye/config-1 rawPolicy@http://www.cenqua.com/fisheye/config-1 restApiKey@http://www.cenqua.com/fisheye/config-1' instead of 'built-in@http://www.cenqua.com/fisheye/config-1' here in element security@http://www.cenqua.com/fisheye/config-1 2016-04-20 18:34:08,210 ERROR - Problem with config file: Error parsing config file (see logs): /opt/fecru_data/config.xml com.cenqua.fisheye.config.ConfigException: Error parsing config file (see logs): /opt/fecru_data/config.xml at com.cenqua.fisheye.config.RootConfig.load(RootConfig.java:190) [fisheye.jar:?] at com.cenqua.fisheye.ctl.Run.mainImpl(Run.java:112) [fisheye.jar:?] at com.cenqua.fisheye.ctl.Run.main(Run.java:56) [fisheye.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.8.0_72] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [?:1.8.0_72] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.8.0_72] at java.lang.reflect.Method.invoke(Method.java:498) [?:1.8.0_72] at com.cenqua.fisheye.FishEyeCtl.mainImpl(FishEyeCtl.java:101) [fisheyeboot.jar:?] at com.cenqua.fisheye.FishEyeCtl.main(FishEyeCtl.java:44) [fisheyeboot.jar:?]
Workaround
Modify the config.xml configuration to look like the following:
<security allow-anon="false" allow-cru-anon="false"> <!--crowd sso-enabled="true"/--> <built-in> <signup enabled="true"/> </built-in> <crowd sso-enabled="true"/> <admins> <system-admins> <group>confluence-users</group> </system-admins> </admins> <avatar><disabled/></avatar> <emailVisibility/> </security>
Once the crowd tag is placed after the built-in tag FishEye is able to start properly and successfully use SSO.