- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
05-26-2024 10:49 PM
お世話になります。
表題の件について、ご存じの方がいらっしゃいましたらご教示いただけないでしょうか。
GlideEncrypterはXanadu以降動作しないことを念頭に、別方式にて実装を検討しております。
以下にサンプルソースを記載いたします。
・処理呼び出し:
getPW: function(targetSys_id, RITMNumber) {
var mtomGR = new GlideRecord('sc_item_option_mtom');
mtomGR.query();
var targetItemOptionSysID;
var pwValue;
var decryptClass = global.decryptGlideRecord();
while (mtomGR.next()) {
if (mtomGR.getDisplayValue('request_item') == RITMNumber) {
targetItemOptionSysID = mtomGR.getValue('sc_item_option');
var itemOptionGR = new GlideRecord('sc_item_option');
itemOptionGR.addQuery('sys_id', targetItemOptionSysID);
itemOptionGR.query();
while (itemOptionGR.next()) {
if (itemOptionGR.getValue('item_option_new') == targetSys_id) {
pwValue = decryptClass.decrypt(itemOptionGR);
}
}
}
}
return pwValue;
},
・複合化処理
var decryptGlideRecord = Class.create();
decryptGlideRecord.prototype = {
initialize: function() {},
decrypt: function(obj) {
var value = obj.getValue('value');
var decrypted = value.getDecryptedValue();
return decrypted;
},
type: 'decryptGlideRecord'
};
解決済! 解決策の投稿を見る。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
06-11-2024 12:37 AM - 編集済み 06-11-2024 12:38 AM
初回投稿してあるScriptの
var value = obj.getValue('value');
var decrypted = value.getDecryptedValue();
この方法では取得できないと思います。
正しくは
// obj は Requested Item [sc_req_item]である想定。
var decrypted = obj.variables.password_field.getDecryptedValue();
このようになります。
理由はgetValue() した時点で、単純な文字列の値になってしまうのでgetDecryptedValue()が使えません。
問い合わせのタイトルから推測して、Requested Itemのvariablesである想定です。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
05-27-2024 05:14 AM
Catalog Item Variables の Masked type は getDecryptedValue() を使うだけで良いと思います。すでにそれは知っているようで、他に何か問題があったのでしょうか。
var gr = new GlideRecord('sc_req_item');
if(gr.get('123456789012345678901234567890')){
return gr.variables.password_field.getDecryptedValue();
}
Service Catalog のマスク タイプ変数の使用:サポートとトラブルシューティング (servicenow.com)
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
06-11-2024 12:21 AM
ご回答ありがとうございます。
getDecryptedValue()では正しい値を取得できなかった為、他の方法を模索しておりました。
原因はいまいちわかっておりません...
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
06-11-2024 12:37 AM - 編集済み 06-11-2024 12:38 AM
初回投稿してあるScriptの
var value = obj.getValue('value');
var decrypted = value.getDecryptedValue();
この方法では取得できないと思います。
正しくは
// obj は Requested Item [sc_req_item]である想定。
var decrypted = obj.variables.password_field.getDecryptedValue();
このようになります。
理由はgetValue() した時点で、単純な文字列の値になってしまうのでgetDecryptedValue()が使えません。
問い合わせのタイトルから推測して、Requested Itemのvariablesである想定です。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
06-18-2024 12:16 AM
上記内容で解決できました。
ご回答いただきありがとうございました。