2012-05-11 11 views
0

私は1ページのバックボーンアプリケーションを持っています。これは本質的に、それぞれに関連付けられたいくつかのデータを持つ項目のリストです。今は管理者だけが見ることができ、編集リンク、破棄リンク、その他の「管理者専用」機能があります。役割別に異なる機能を持つバックボーンアプリケーション

管理者以外のユーザーがページを利用できるようにして、アイテムや管理者機能のみを表示できるようにするには、ビュー、モデル、テンプレート、別のアプリユーザーの役割に応じて非表示にしますか?

さらに別のテンプレートセットですか?

答えて

1

もう1つの簡単な方法は、同じテンプレート(同じhtml)を使用することですが、はCSSを使用して要素を切り替えることです。

あなたは.adminのようなテンプレートのルートDOM要素にクラスを削除し、CSSで遊ぶ/追加することができます。

#my-root-element .admin-element { 
    display: none; 
} 

#my-root-element.admin .admin-element { 
    display: block; 
} 

はもちろんの要素がまだある可能悪意のあるユーザーのためになりますが、このshouldn」サーバーレイヤーには常にセキュリティフィルターを追加する必要があるため、セキュリティ上の問題になります。

2

私は最も簡単で最も保守的な解決策は、管理者と管理者以外のユーザー用に別々のテンプレートを用意することだと思います。

同じビューを使用できるはずですが、テンプレートによってどの機能が有効になっているかが決まります。

この問題を解決するには複数の方法があり、コンテキストによって異なります。このコンテキストでは、さまざまなテンプレートが最適な方法だと思います。

関連する問題