[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[upki-fed:01011] Re: Movable Type を Shibboleth 認証されている事例はありますか?



慶應義塾ITC本部の細川です。

MTをShibbolethで認証する件の補足です。

Shibbolethアカウントとローカルアカウントの併存を行う方法を見つけました。

これまた簡単で、

1. mtディレクトリの隣辺りにmt-localとかいうディレクトリを作って、mtの内容をコピーする
2. mt-local/mt-config.cgiのパス周りをmt-localに書き換える
3. mt-local/mt-config.cgiの「AuthenticationModule Shibboleth」をコメントアウトする

これでmt-local/からログインすればローカルアカウント認証、
mt/からログインすればShibboleth認証となります。

当然ですが、Shibbolethアカウントとローカルアカウントは、
絶対に名前が重ならない文字列にするなどの工夫が必要です。

# なかなか便利ですね、MT。

細川

On 2016/01/29 19:35, Tatsumi Hosokawa wrote:
> 慶應義塾ITC本部の細川です。
> 
> Movable TypeをShibboleth対応させたくて、「Movable Type Shibboleth」をキーワードにググったところ、
> あまりドンピシャの記事が見当たらなかった上に、こちらの2年ほど前のメールが引っかかったくらいだったすが、
> 自分でやってみたら思ったよりあっさりとShibboleth対応できてしまったので、
> もはや期限切れで役に立たない回答かと思いますが、リプライの形でメモを残しておこう、と思います。
> 
> これはよくない方法、とかいう点がありましたらぜひご指摘ください。
> 
> 1. Movable TypeのサーバにShibboleth SPをインストールし、MTのディレクトリを
>     Shibboleth認証の対象に設定します。
> 
> 2. mt/lib/MT/Authに次のファイルをShibboleth.pmという名前で置き、
>     $userid_attrにユーザIDとして利用したい属性の環境変数名を設定します
> 
> -----ここから----------------------------------
> package MT::Auth::Shibboleth;
> 
> use strict;
> use base qw( MT::Auth::BasicAuth );
> 
> my $userid_attr = 'mail';  #ここを設定する(他の例: eppn)
> 
> sub can_logout { 1 }
> 
> sub remote_user {
>      my $class = shift;
>      my ($ctx) = @_;
>      return $ENV{$userid_attr};
> }
> 
> 1;
> -----ここまで----------------------------------
> 
> 3. mt-config.cgiに次の行を足します。
> 
> AuthenticationModule Shibboleth
> 
> これだけで設定は終わりです。
> 
> 登録されていないユーザがShibboleth経由でアクセスしてくると、無権限のユーザが作成されます。
> あとは管理者がそのユーザに権限を割り振ればOK、のようです。
> これが運用上問題な場合は、new_user()を潰す必要があるかもしれません。
> 
> # 私はMTに詳しくないので間違っていたらすみません。
> 
> なお、AuthenticationModuleを設定するとShibbolethユーザ以外はログインできなくなるので、
> 一旦AuthenticationModule設定した状態でShibbolethで管理者にしたいユーザでログインして、
> 新しいユーザを作成し、その後AuthenticationModuleをコメントアウトして、
> 以前の管理者でログインして新しく出来たユーザを管理者にして、
> それからAuthenticationModuleを再び有効化すれば、Shibboleth認証ユーザの管理者が出来上がります。
> 
> 以上です。
> 
> 細川
> 
> On 2013/10/24 16:18, TSUCHIYA Masatoshi wrote:
>> 土屋です.
>>
>> 表題の通りなのですが,ざっと Movable Type 5.2.8 の認証周辺のロジックを眺
>> めてみると,lib/MT/Auth/BasicAuth.pm というモジュールがあり,REMOTE_USER
>> 環境変数を参照して認証を行っているように読み取れます.
>>
>> とすると,普通に Shibboleth 認証にしてやってもうまくいきそうな気がするの
>> ですが,先行事例は存在しているでしょうか? もしも,先行事例とコツをご存じ
>> でしたら,教えて頂けませんか.
>>
>> よろしくお願いします.
>>
> 
> 


-- 
慶應義塾ITC本部  細川達己  xxxxxxxx@xxxxxxxxxxxxxx
Tel. 03-5427-1685  Fax. 03-5427-1722