2017-09-01 12 views
0

KeystoneJS 0.3.19を使用して、ユーザーがログインしてすべてのアプリケーション機能にアクセスできるアプリケーションを構築しています。アプリケーションは、それぞれのタイプでサポートされている機能が異なるため、ユーザーモデルがわずかに異なるユーザーのカテゴリを分離する必要があります。私は、ユーザーモデルの定義、ユーザー作成、ログインとサインインを扱う多くのファイルを調べて、いくつかの変更を加えました。サーバーはうまく動作し、localhost上のWebサイトを実行しているときに、私が変更したコードのほとんどは、遭遇してからkeystone/lib/session.jsになるまでまで続きます。私は条件を入れたい要求を行ったユーザーのタイプと、使用する変数に適切な値を割り当てる。私はreq.user、req.body.userを使用しました。どちらも明らかに間違っています。これは実行時には定義されていないからです。私が変更したkeystonejsにログイン機能を持つ別のモデルを追加するにはどうすればいいですか?

ファイルは、次のとおりです。

keystone/admin/api/session/signin.js 

keystone/lib/session.js 

keystone.js, to list the model in Admin UI 

keystone.js/templates/views/signin.jade, select the type of user for login 

のためのユーザタイプを決定するための私の方法は、機能を持続右の方法は何か、間違っていますか?

この結果を得るには他に何が必要ですか?

私は既に新しいモデルを作成しました。このエラーがsession.jsで発生する前に確認したとおり、管理UIに反映されています。

答えて

0

私はわからないんだけど、私はあなたが達成したいものを得るけど、私のためとして、私は(私はキーストーン0.4 jFYIを使用しています)フィールドのUserモデルを拡張しています

accessLevel: { 
    type: Types.Select, 
    label: "Access level", 
    index: true, 
    numeric: true, 
    options: [ 
    { value: 1, label: "admin" }, 
    { value: 2, label: "cool_user" }, 
    { value: 3, label: "soopa_user" } 
    ] 
} 

ユーザーを確認することができますので、次のコードからACCESSLEVEL(私はパグエンジンを使用しています)

if user && user.accessLevel == 2 
    do something cool 

そして別のオプション、そうで目的のフィールド、アクション、で構成され、そのREFで動作され、モデル化するためにReltionshipフィールドの既存のユーザーモデルを拡張することができますコードの次のフィールド

関連する問題