node.js - Express Simple Auth 不起作用
问题描述
我做了一个简单的登录 api,无论我作为参数发送什么,它都无法正常工作,这是我的用户模式:
var mongoose = require('mongoose');
var userSchema = mongoose.Schema({
username: {type: String, required: true , unique: true},
password: {type: String, required: true}
});
module.exports = mongoose.model('User', userSchema);
这是我的代码:
router.post('/login', (req,res,next) => {
var usern = req.body.username;
var passw = req.body.password;
console.log(usern + " " + passw);
if ( !usern || !passw ) {
return res.status(400).json({'error': 'Bad Request'});
} else {
User.findOne({username: req.body.username},(user , err)=> {
if (!user) {
return res.status(404).json({'error': 'No User Found'});
} else if (user.password !== req.body.password ) {
return res.status(401).json({'error': 'Auth Failed'});
} else {
return res.status(200).json({
'success': 'true'
});
}
});
}
});
提前致谢!
解决方案
我用这个在我的,
public function authenticate(Request $request){
$authResult=Auth::attempt(['username'=>$request['username'],'password'=>$request['password']]);
if($authResult){
return redirect()->intended();
}
else{
return redirect()->to(route('login'));
}
推荐阅读
- python - 如何检查子目录是否不包含python中的某个文件?
- svg - Visual Paradigm 生成的 svg 在 inkscape 中的呈现方式与在浏览器中不同
- java - 使用java加密解密,字符串到位,然后进行一些操作并返回到字符串
- javascript - 在 Angular 中通过 SCSS 格式化横向打印格式
- kotlin - 删除不确定是否存在的 Firestore 文档的最佳方法?
- angular - Angular 8 - 路由器导航到组件但不更改 URL
- c# - 如何在 .Net Core 3.0 中获得对 MS Access 的引用?
- powershell - 尝试在 PowerShell 中发出 curl POST 命令
- python - Django:为什么在虚拟环境中找不到包?
- c# - 使用 CAP 时如何设置 RabbitMQ 队列前缀