Tivoli Access Manager(TAM)のASP.NETでの使い方メモ(備忘録)
概要
一年ほど前に、IBMのTivoli Access Manager(TAM)によるシングルサインオンのユーザ認証の仕組みをASP.NETのアプリに組み込んだ。
記憶があいまいになってきているので、まだ覚えてるうちに、ASP.NET側での要点を備忘録として残す。
要点
- TAMはゲートウェイ型認証である。
- サーバとクライアントの間にTAMが入る。
- どのアドレスを、どのサーバに転送するかはJunctionという設定で行う.(ApacheのReverseProxyみたいな感じ)
- ASP.NETでは、*.axd などのリソースファイルの位置が自動生成されるJavaScriptから直書きされているので、リダイレクト位置には注意が必要。
- ※ コンテキストルートのフォルダ階層が実サーバとジャンクションとで異なる場合は、うまく動かないので、転送する仕組みなどが必要になった。
- TAMからASP.NET(IIS)には、認証情報(本人情報)がリクエストヘッダとして渡されるため、扱いは非常に簡単である。
- 認証はweb.configで標準の認証をnoneとしカスタム認証とする。
- IHttpModuleでAuthenticateRequestのタイミングでヘッダ情報からFormsAuthentication#SetAuthCookie()で認証済みに設定する.
- 必要ならば、HttpContext.Current.UserにGenericPrincipalでユーザ名、ロールなどを設定する。
- ※ TAMは認証情報を渡すだけで、アクセス制御はアプリケーションの役目である。