[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[upki-fed:01011] Re: Movable Type を Shibboleth 認証されている事例はありますか?
- Subject: [upki-fed:01011] Re: Movable Type を Shibboleth 認証されている事例はありますか?
- Date: Mon, 1 Feb 2016 17:50:19 +0900
- From: Tatsumi Hosokawa <xxxxxxxx@xxxxxxxxxxxxxx>
慶應義塾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