私はPythonのcmd
モジュール(実際にはcmd2
ですが、かなり似ています)に基づいてコマンドラインツールを書いています。このツールは、認証が必要なREST APIに接続します。各ユーザは自分の特権レベルを持っています(管理者と一般ユーザと考える)。Pythonのcmdモジュールでコマンドを隠す
私のPythonコードでは、APIの各メソッドに対応するdo_ *メソッドを作成しています。つまり、do_an_admin_command
とdo_regular_user_command
のようなものは、彼のユーザーの特権レベルにかかわらず、ツールを実行している人が呼び出し可能になることを意味します。
私が必要とするのは、ユーザーが特権を持たない場合、Pythonツールで使用可能なすべての管理コマンドを非表示にする方法です。 APIの認証に使用する認証情報と、ユーザーが特権を持っているかどうかは、起動時に知っていると想定できます。また、管理コマンドは通常のコマンドのスーパーセットです。
アイデア?
何の管理コマンドですか? REST API?あなたのツール? –
問題を少し詳しく説明しました – Unknown