Ext.create('Rally.data.WsapiDataStore', params) を呼び出して、load イベントで結果を探しています。
ユーザーが読み取り権限を持っているかどうかに関係なく、プログラム全体で多数のオブジェクトを要求しています。
これは、ユーザーがアクセス許可を持っているクエリでは問題なく機能します。しかし、ユーザーに権限がなく、結果が返されない可能性が高い場合、load イベントはまったく発生していないように見えます。失敗したフラグで起動するか、空の結果で戻ることを期待しています。
リクエストが失敗したことを知らないので、私のプログラムは待って待っています。セキュリティのためにこのリクエストが返されないかどうかを確認するにはどうすればよいですか?
ところで、ネットワーク統計を見ると、すべてのリクエストが「200 OK」ステータスを返すと思います。
さまざまなデータ ストアを作成するために使用する方法を次に示します。
_createDataStore: function(params) {
this.openRequests++;
var createParams = {
model: params.type,
autoLoad: true,
// So I can later determine which query type it is, and which program
requestType: params.requestType == undefined ? params.type : params.requestType,
program: this.program,
listeners: {
load: this._onDataLoaded,
scope: this
},
filters: params.filters,
pageSize: params.pageSize,
fetch: params.fetch,
context: {
project: this.project,
projectScopeUp: false,
projectScopeDown: true
},
pageSize: 1 // We only need the count
};
console.log('_createDataStore', this.program, createParams.requestType);
Ext.create('Rally.data.WsapiDataStore', createParams);
},
_onDataLoaded メソッドは次のとおりです。
_onDataLoaded: function(store, data, successB) {
console.log('_onDataLoaded', this.program, successB);
...
アカウントがアクセス許可を持つクエリに対して呼び出されるこの関数のみが表示されます。