Drupal サイト内のページで現在実行されている小さなバックボーン アプリケーションがあります。現在、バックボーン アプリケーションは認証なしのページで提供されており、すべてのユーザーがそれを見ることができます。
ユーザーが認証されている場合にのみ表示される別のページで、ほぼ同じバックボーン アプリケーションを使用したいと考えています。ただし、これらの認証済みユーザー向けにいくつかの高度な機能を追加したいと考えています。
問題は、2 つの別々の Backbone アプリを使用するのではなく、2 種類のユーザーに同じ Backbone コードを使用したいということです。これをどのように行うことをお勧めしますか?
私はこの種のことを素朴に考えています:
SearchView = Backbone.View.extend({
render: function() {
if (isAdvanced) {
//render advanced search options in template
}
},
runSearch: function() {
if (isAdvanced) {
// handle advanced options for client-side search
}
});
問題は、JavaScript コードが明らかに認証されていないユーザーに表示されることです。isAdvanced
コンソールで設定して、その方法で高度な機能のロックを解除できると思いますか?
(認証プロセス自体は Drupal によって処理されます。ユーザーがページ B を表示するために認証されていない場合、ユーザーは自動的にログイン ページに転送されます。それは問題ではなく、JavaScript コードをどのように編成するかが問題です。)
Backbone アプリの 2 つの別々のバージョンを維持する必要がありますか? または、2 つの間でコードを共有する方法はありますか?
文脈上、これは非常に安全なアプリケーションではありませんが、高度な機能は有料であるため、簡単にハッキングできないようにしたいと思います.