ADFSのサインオン画面をカスタマイズする方法を以前こちらのエントリで書きました。
この記事で書いたように、ADFSの3.0では画面をPowerShellコマンドでもカスタマイズ可能です。この画面をグローバルに公開するために多言語対応する方法もあります。
例えば、以下の画面の「日本語の説明」と書いてある部分を多言語対応させます。
使うPowerShellコマンドレットはSet-AdfsGlobalWebContentというコマンドレットです。
Set-AdfsGlobalWebContent
このコマンドのオプションにあるlocaleを利用することで実現可能です。
ここではアクセスしてきたブラウザの言語毎に以下の対応をしたいと思います。
日本語の場合=>「日本語の説明」
英語の場合 =>「English Description」
その他の場合=>「Default Description」
ADFSにログオンして以下の3つのコマンドを打つだけです。
Set-AdfsGlobalWebContent -SignInPageDescriptionText "<p>Default Description</p>" Set-AdfsGlobalWebContent -SignInPageDescriptionText "<p>English Description</p>" -Locale "en" Set-AdfsGlobalWebContent -SignInPageDescriptionText "<p>日本語の説明</p>" -Locale "ja"
これで日本語でアクセスすれば、日本語で、
英語でアクセスすれば、英語で、
ドイツ語でアクセスすれば、その他にあたるデフォルトの説明が出ました。
Set-AdfsGlobalWebContentを使うことで以下のような内容も同じ方法で変更できます。
- CertificatePageDescriptionText
- CompanyName
- ErrorPageAuthorizationErrorMessage
- ErrorPageDescriptionText
- ErrorPageDeviceAuthenticationErrorMessage
- ErrorPageGenericErrorMessage
- ErrorPageSupportEmail
- HelpDeskLink
- HelpDeskLinkText
- HomeLink
- HomeLinkText
- PrivacyLink
- PrivacyLinkText
- SignInPageAdditionalAuthenticationDescriptionText
- SignInPageDescriptionText
- SignOutPageDescriptionText
- TargetWebContent
- UpdatePasswordPageDescriptionText
例えばこんな感じで一気に変更することもできます。
Set-AdfsGlobalWebContent ` -CertificatePageDescriptionText "[Param]CertificatePageDescriptionText" ` -CompanyName "[Param]CompanyName " ` -ErrorPageAuthorizationErrorMessage "[Param]ErrorPageAuthorizationErrorMessage" ` -ErrorPageDescriptionText "[Param]ErrorPageDescriptionText" ` -ErrorPageDeviceAuthenticationErrorMessage "[Param]ErrorPageDeviceAuthenticationErrorMessage" ` -ErrorPageGenericErrorMessage "[Param]ErrorPageGenericErrorMessage" ` -ErrorPageSupportEmail "[Param]ErrorPageSupportEmail" ` -HelpDeskLink "http://HelpDeskLink.com/" ` -HelpDeskLinkText "[Param]HelpDeskLinkText" ` -HomeLink "http://HelpDeskLink.com/" ` -HomeLinkText "[Param]HomeLinkText " ` -PrivacyLink "http://PrivacyLink.com/" ` -PrivacyLinkText "[Param]PrivacyLinkText" ` -SignInPageAdditionalAuthenticationDescriptionText "Param]SignInPageAdditionalAuthenticationDescriptionText"` -SignInPageDescriptionText "[Param]SignInPageDescriptionText " ` -SignOutPageDescriptionText "[Param]SignOutPageDescriptionText" ` -UpdatePasswordPageDescriptionText "[Param]IdpInitiatedSignOn.aspx" ` -Locale "en"
設定した内容は「Get-AdfsGlobalWebContent」でも確認可能です。
PS>Get-AdfsGlobalWebContent Locale : en CompanyName : [Param]CompanyName HelpDeskLink : http://helpdesklink.com/ HelpDeskLinkText : [Param]HelpDeskLinkText HomeLink : http://helpdesklink.com/ HomeLinkText : [Param]HomeLinkText PrivacyLink : http://privacylink.com/ PrivacyLinkText : [Param]PrivacyLinkText CertificatePageDescriptionText : [Param]CertificatePageDescriptionText SignInPageDescriptionText : [Param]SignInPageDescriptionText SignOutPageDescriptionText : [Param]SignOutPageDescriptionText ErrorPageDescriptionText : [Param]ErrorPageDescriptionText ErrorPageGenericErrorMessage : [Param]ErrorPageGenericErrorMessage ErrorPageAuthorizationErrorMessage : [Param]ErrorPageAuthorizationErrorMessage ErrorPageDeviceAuthenticationErrorMessage : [Param]ErrorPageDeviceAuthenticationErrorMessage ErrorPageSupportEmail : [Param]ErrorPageSupportEmail UpdatePasswordPageDescriptionText : [Param]IdpInitiatedSignOn.aspx SignInPageAdditionalAuthenticationDescriptionText : [Param]SignInPageAdditionalAuthenticationDescriptionText
最後に「Remove-AdfsGlobalWebContent」を使えば設定を全て削除できます。