「ユーザー レベル」や「ユーザー タイプ」などの明確なパーミッション セットがある場合は、隠しフィールドに値を渡し、DOM を介して値にアクセスできます。アクセス許可がより細かく設定されていれば、これを行うこともできますが、多くの隠しフィールドがあるか、情報を XML や JSON などの形式にエンコードする必要があります。
これらをビット フラグとして設定すると、単一の数値とマスクの OR を使用して、ユーザーが特定のアクティビティに対するアクセス許可を持っているかどうかを確認できます。これは非常に柔軟で、特定の「権利」が 32 を超えない限り、非常に小さなパッケージ (基本的には unsigned int) でそれらの権利の順列を許可します。
例えば:
0x00000001 //edit permission
0x00000002 //create new thing permission
0x00000004 //delete things permission
0x00000008 //view hidden things permission
.
.
.
0x80000000 //total control of the server and everyone logged in
の権限を持つユーザーは、0x000007
編集、作成、および削除できましたが、それ以外はできませんでした。
どちらの場合でも、正しい方向に進んでいると思います。ページ呼び出しごとに 1 回リクエストを行い、アクセス許可をグローバルな JavaScript データ構造に保存し、そこから移動します。AJAX は便利ですが、ページ全体の特定のアクセス許可をすべてサーバーに問い合わせる必要はありません。ページの読み込み時に一度実行し、ページの表示を設定して値をグローバル変数に保存し、イベント関数のアクセス許可をローカルで参照します。