ケルシーの答えは、マークを右ですが、私は議論に何かを追加したいです。もう1つの選択肢は実際には "admin"ルートを実際に持たないことですが、代わりに制限されたURLに実際にアクセスするためには管理者認証セッションが必要です。
「従来の」RESTfulアプリケーションでは、これがしばしば行われます。コントローラーは操作しているリソースのタイプを表し、アクションは動詞で、idはそのリソースの特定のメンバーの一意のIDです。言い換えれば
、代わりに持つの:
/content/list (for normal users)
/admin/content/add (for admins)
あなたはURLに/管理者を追加/
/content/list (for everyone)
/content/add (for admin, but must be authenticated to work)
は本当にあなたが書くことができることをおそらく除いて(任意のbenifitsを追加しないだろう/ adminの下にあるものに対しては単一のルールでセキュリティロジックを確保しています)が、より複雑なルートと標準RESTfulを破るというトレードオフがあります。スタンダードプラクティスを破ること自体は悪いことではありませんが、理由のためにスタンダードであると考えるべきであり、それを打破するための特別なメリットがなければ、それを遵守することも考えられます。
両方のURLスタイルでユーザーを認証する必要があることに注意してください。そうでなければ誰でも使用できます。
ASP.NET MVCでは、ActionFiltersを使用してユーザーレベルに基づいてアクション(またはコントローラ全体)へのアクセスを制限できます。管理者専用のアクションをこれらのフィルタで修飾することにより、認証された管理者だけが実際にそれらを使用できるようにすることができます。
詳細についてはScott Gu'sブログエントリまたはRob Connery's postをお読みください。
物事を使うと、他のコントローラには 'admin /'の接頭辞でアクセスできなくなります。あなたのサイト/管理者/ホームからあなたのサイト/ホームを訪問することもできます。 –