2
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ServiceNowでログイン直後に特定のURLにRedirect/インスタンス内の特定の画面に遷移する

2
Last updated at Posted at 2018-01-20

Version: Istanbul, Yokohama

特定の画面にRedirect

ServiceNowでログイン直後に特定のURLにRedirectさせます

ここに書いてる内容をそのまま試しただけですが成功したので記事にして置きます

リダイレクトの設定を入れた後に全セッションでログアウトしてから再ログインすると常にリダイレクトされて何も操作出来ないインスタンスになってしまう可能性がありますadmin権限でログイン済みのセッションを別ブラウザなどで保持しながら作業することをオススメします**

System Porpertiesに値を追加

Filter Navigatorにsys_properties.listと入力しSystem Propertiesの一覧を表示して[New]ボタンを押下し、以下の値を追加します。

Suffix Name Type Value Description
glide.entry.first.page.script glide.entry.first.page.script string new SPEntryPage().getFirstPageURL() First page after authentication

Script Includeを編集

Filter NavigatorにScript Includeと入力し、System Definition > Script Includesの一覧を表示します。一覧のNameにSPEntryと入力し、SPEntryPageを表示後、(i)アイコンかNameをクリックして編集画面に遷移します。

こうなっている箇所を

	initialize: function() {
		gs.addErrorMessage(user);
		this.logVariables = false;  // for debugging 
		this.portal = "/sp/";      // The URL suffix specified in the sp_portal record
	},

こうします。

	initialize: function() {
		gs.addErrorMessage(user);
		this.logVariables = false;  // for debugging 
		//this.portal = "/sp/";      // The URL suffix specified in the sp_portal record
		this.portal = "http://www.example.com";
	},

これでRedirectの設定が出来ました。

##ユーザ名を判定してRedirect先を変更する

やり方は色々あると思いますが、SPEntryPageの以下のfunction辺りで

	getFirstPageURL: function() {

最後の方でこうなっている箇所とかを

		this.logProperties('after', session);
		if (!this.logVariables) {
			gs.log('redirectURL: ' + redirectURL);
			gs.log('User: ' + user.getName());
			gs.log('is internal: ' + (!user.hasRoles()));
			gs.log('returnUrl: ' + returnUrl);
		}

		return returnUrl;

こうとかします。

		this.logProperties('after', session);
		if (!this.logVariables) {
			gs.log('redirectURL: ' + redirectURL);
			gs.log('User: ' + user.getName());
			gs.log('is internal: ' + (!user.hasRoles()));
			gs.log('returnUrl: ' + returnUrl);
		}
		if (user.getName() == "usu")
			return "https://ja.wikipedia.org/wiki/%E8%87%BC";
		if (user.getName() == "kine")
			return "https://ja.wikipedia.org/wiki/%E6%9D%B5";
		return returnUrl;

インスタンス内の特定の画面に遷移

2026-02-25にUser Preferenceで出来ることを確認しました現在見ているページをStart Pageにしたい場合はUse the page I'm on nowです

image.png

Preferenceのメニューに表示されていない場合は sys_user_preference テーブルのNameを my_home_navigation_page とUserで検索したレコードを作成することで設定出来ました

image.png

2
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?