我有一个角度4的应用程序,后端的节点js支持它。 我使用护照进行用户身份验证。
我尝试构建的应用程序允许具有不同角色的用户登录该应用程序。
例如 - 该应用程序允许用户为“学生”或“招聘人员”类型。
我已成功设置身份验证模型,并且能够成功登录和注销该应用程序。
但是,我目前面临的一个问题是 -
如果我选择学生登录链接并传递注册为“招聘人员”的用户的凭证,则该应用程序允许用户登录为护照身份验证,目前仅验证用户名和密码。
我正在研究护照如何能够利用在登录应用程序时为所有usertypes填充的usertype。
如果用户注册为学生,但尝试以招聘人员身份登录,那么除了验证用户名和密码之外,我还需要应用程序检查用户是否具有登录模块的相应角色。
目前,注册为学生的用户可以作为招聘人员登录,并且能够导航到招聘人员仪表板,因为护照只是验证用户名和密码。
UserModel -
{% if success %}
<div class="alert alert-success alert-dismissable">
<button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>
{{ success }}
</div>
{% endif %}
护照登录 -
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var passportLocalMongoose = require('passport-local-mongoose');
var User = new Schema({
usertype: {
type: String,
required: true,
lowercase: true,
enum: ['admin', 'student', 'recruiter'],
default: 'student'
},
email: {
type: String
}
},{
timestamps: true
});
User.plugin(passportLocalMongoose);
module.exports = mongoose.model('User', User);