2017-08-10 65 views
0

我正在將RT的舊版本從4.0.x移至4.4.2的最新版本。舊的安裝使用的Shibboleth和一直很好做這麼多年,RT_SiteConfig.pm設置:Shibboleth on Request Tracker 4.4.x

Set($ExternalAuthPriority, ['Shibboleth']); 
Set($ExternalInfoPriority, [ 'Shibboleth' ]); 
Set($ExternalServiceUsesSSLorTLS, 0); 
Set($AutoCreateNonExternalUsers, 1); 
Set($ExternalSettings, 
    { 'Shibboleth' => 
     { 'type'    => 'shib', 
      'auth'    => 0, 
      'info'    => 1, 
      'attr_match_list' => 
       [ 'Name', 'EmailAddress', 'RealName' ], 
      'attr_map'   => 
       { 'Name'   => 'REMOTE_USER', 
       'EmailAddress' => 'mail', 
       'RealName'  => 'displayName' } 
     } 
    } 

着Apache虛擬主機,如:

< Location /> 
    Require all granted 

    SetHandler modperl 
    PerlResponseHandler Plack::Handler::Apache2 
    PerlSetVar psgi_app /opt/rt4/sbin/rt-server 

    AuthType shibboleth 
    ShibRequireSession On 
    require valid-user 
    ShibRequestSetting requireSession 1 
    Options FollowSymLinks 
< /Location> 

< Location "/Shibboleth.sso"> 
    Require all granted 
    SetHandler shib 
    AuthType None 
< /Location> 

當我去使用相同的配置設置數據庫我得到:

make initialize-database 
Password: 
Working with: 
Type: mysql 
Host: localhost 
Port: 
Name: rtdb 
User: rtdbuser 
DBA: root 
Now creating a mysql database rtdb for RT. 
Done. 
Now populating database schema. 
Done. 
Now inserting database ACLs. 
Done. 
Now inserting RT core system objects. 
Done. 
[error]: Service 'Shibboleth' in ExternalInfoPriority is not ldap, db, or cookie; removing. (/usr/local/src/rt-4.4.2/sbin/../lib/RT/Config.pm:1094) 
Now inserting data. 
Done inserting data. 
Done. 

,唯一不同的是我能看到的是在做安裝的是,我不能再安裝RT ::認證介紹:: ExternalAuth時。當我嘗試,我得到:

**** Error: Your installed version of RT (4.4.2) is too new; this extension 
     only works with versions older than 4.4.0. 

我查了資料,並從我讀它看起來像ExternalAuth功能現在內置,你不再需要插件。如果事實如此,你如何在RT中使用Shibboleth?如果不是這種情況,你會如何解決這個問題?

回答