0

Mongoose の ACL (アクセス制御リスト) を作成するためのこのライブラリを見つけました: https://github.com/scttnlsn/mongoose-acl

良いモジュールのように見えますが、自分の目的に使用する方法について少し混乱しています。

example.com/users/chovy のように、誰でも (ログインしているかどうかに関係なく) プロファイル ページにアクセスできるサイトがあります。

ただし、ユーザー「chovy」がこのページにログインしている場合、アカウントの詳細を編集するための管理者権限を付与したいと考えています。

ユーザーが「chovy」でないか、ログインしていない場合、「chovy」の読み取り専用プロファイル ページが表示されます。

誰かが私がこれを行う方法の具体例を教えてもらえますか?

4

1 に答える 1

1

それは非常に一般的に聞こえるので、ACLは必要ないと思います。セッションが必要になります。その後、現在ログインしているユーザーに基づいてビューの外観を変更できます。不完全な例は次のようになります。

// Assumes:
// - You set req.session.user when user logs in
// - The url route has a :name so you can do req.param() to get the name of the page being viewed

db.users.getCurrentUser(req.session.user, gotLoggedInUser)
db.users.getUserByName({name: req.param('name')}, gotUser)

そして、あなたがres.render():をするとき、これをビューに渡します

var is_viewing_own_page = currentUser._id.toString() === loggedInUser._id.toString()

そして、ビューは次のようなことを行うことができます(翡翠を想定):

- if (is_viewing_own_page)
  div You are looking at your own page
- else
  div You are viewing someone else's page
于 2012-09-30T02:49:37.523 に答える