サービスポータルのリダイレクトを設定する方法Descriptionこの記事では、ログイン後のユーザーのリダイレクトを設定する方法について説明します。基本的には、「このユーザーはログイン後どこに行くのか?」という問いに対して、そのリダイレクトを有効にするロジックを設定します。ログイン先の設定方法については、How to Configure Service Portal as your instance login page (サービスポータルをインスタンスのログインページとして設定する方法) を参照してください。このトピックについて、以下に記載されていない質問がある場合は、 FAQ をご覧ください。 このリダイレクトは、ログインルールやインストール終了など、いくつかの異なる方法を使用して設定されるのがプラットフォームにおける慣例でした。図のようにサービスポータルへのリダイレクトを行う場合は、これらの古い方法を削除し、SPEntryPage のスクリプトインクルードで主要な設定を行う必要があります。 手順 システムプロパティ glide.entry.first.page.script を作成または更新します。 これは既に存在している場合もありますが、多くの場合は、文字列型のプロパティとして作成する必要があります。SPEntryPage スクリプトを呼び出すには、必ず値を new SPEntryPage().getFirstPageURL() に設定してください。 ベースシステムでは、これは、ユーザーが何らかのロールを持ち、サービスポータルに直接アクセスしようとしていないかどうかを確認するように設定されます。両方が合格すると、glide.login.home プロパティの値またはログイン前にロードしようとしていたページにユーザーを送ります。 ユーザーにロールがない場合、ユーザーは、サービスポータルのそのページに相当するページに送られます 例えば、 https://<instance_name>.service-now.com/nav_to.do?uri=change_request_list.do これは、ロールのないユーザーを次のページに送ります。 https://<instance_name>.service-now.com/sp/?id=list&table=change_request 特定のニーズに対応するように SPEntryPage スクリプトインクルードを構成します。注:これには、ベースシステムコードのカスタマイズが必要です。 このガイドを参考にそのようなカスタマイズを行うことができますが、上記以外の構成はサポート対象外となります。 SPEntryPage スクリプトの 69 行目と 70 行目は、ユーザーをリダイレクトするかどうかを決定するものです。デフォルトでは、ユーザーにロールがあり、既存のリダイレクト URL (login_redirect) がなく、ユーザーがサービスポータルに移動しようとしていない場合、スクリプトは戻ってきます。つまり、ユーザーはリダイレクトされません。 この機能をカスタマイズするには、この関数を変更する必要があります。2 番目の 2 つのチェックは必ずそのままにしてください。そうしないと、既存の機能に支障をきたす可能性があります。user.hasRoles チェックは、変更できる唯一の部分です。例えば、特定のロールを持つユーザーがデフォルトでプラットフォーム UI に移動するようにするには、条件を if(user.hasRole("my_cool_role") && !redirectURL && !isServicePortalURL) に変更します。 Additional Informationこのリダイレクトを設定する際に考慮すべき点がいくつかあります。 spEntryPage の目的は、2 つあります。1 つ目はユーザーはどこにログインするか、2 つ目はログインが終わった後、どこに移動するかです。これは、ユーザーがプラットフォームの UI にアクセスするのを完全に防ぐことを意図しているわけではありません。 他の既存のリダイレクトロジック (ログインルール、インストールの終了など) がある場合、このロジックと競合し、意図しない結果につながる可能性が高くなります。admin ロールを持つユーザーは、特定のロールを持っているかどうかに関係なく、常に hasRole チェックに合格します。そのため、特定のロールを持つユーザーをチェックするために、SPEntryPage をカスタマイズする場合は注意が必要です。実際には、複数のポータル間でリダイレクトする方法はサポートされていません。これは単一のポータル構成を想定しています。 このトピックの詳細については、リダイレクトに関する FAQ を参照してください。