1

ユーザーと管理者の両方が Web アプリケーションでアカウントとプロファイルの詳細を編集できる機能を提供する必要があります。これらのプロファイルの公開側の URL の例は次のとおりです。

http://example.com/user/joe

これらの URL を設計する 2 つの方法について、私はまだ悩んでいます。私はこれのいずれかを考えました:

http://example.com/user/joe/edit

または、非固有でプロファイルとは別のもの:

http://example.com/account

前者の利点は、管理者が同じ機能を使用して自分の仕事を行えることです。これにより、管理者専用のまったく異なるバックエンドを構築する必要がなくなります。ここでのマイナス点は、承認に注意し、編集してはいけないものを誰も編集できないようにする必要があることだと思います。

2 番目の方法は、より標準的な方法であり、管理ユーザー用の別のインターフェイスを意味しますが、よりシンプルで安全であることが判明します。

これについてのSOの意見は何ですか?どちらの方法にも長所/短所はありますか? どの方法を使用することをお勧めしますか?

4

4 に答える 4

1

このようなセキュリティに敏感な領域を持つ管理者には、別の見方があります。別の見方をすることで、物事がより明確になります。管理者でさえ、特定のユーザー情報しか編集できない可能性が高いため、自分自身を編集するユーザーとは異なるビューを持っています。

2 つのビューが共通の編集フォームを共有している場合でも、承認がより明確になります。

于 2009-09-28T11:07:08.353 に答える
1

MVC アプローチを使用している場合、私の提案は次のようになります。

http://example.com/user/edit/1234

また

http://example.com/user/edit/joe

user がコントローラーの場合、コントローラーのメソッドを編集し、1234 または joe をそれぞれユーザー ID またはユーザー名にします。

しかし、Gumbo がコメントしたように、管理者はユーザー情報の編集を許可されるべきではありません。プロファイルに不快なコンテンツや虚偽の情報が含まれている場合に備えて、アカウントを無効にするメカニズムが必要です。アカウントを再びアクティブにするためにユーザーに更新を強制する。

于 2009-09-28T11:07:28.417 に答える
0

これを行う方法は、管理者とユーザーが同じビューを共有することです。管理者専用のアイテムは、ユーザーによる編集または表示から保護されています。

単一のビューの理由は次のとおりです。

  • 「可動部分」の数を減らします。新しいフィールドがユーザー画面に追加されると、一度追加するだけで済みます。
  • ユーザーの範囲内でのアイテムの移動が容易になります。突然、管理者がユーザーに「FizzBar」の管理を許可することを決定した場合、変更を行う必要があるのは 1 か所だけです。
  • コントローラーレベルで役割と機能を分離する方が簡単です。
于 2009-09-28T21:19:24.760 に答える
0

2番目のアプローチを使用する必要があると思います。これはより安全柔軟であり、プロファイルをインラインで編集するプロファイルよりもコーディングが難しくありません。

于 2009-09-28T21:36:38.377 に答える