2017-08-10 55 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?如果不是这种情况,你会如何解决这个问题?

回答