如何进行Angularjs身份验证? Logincontroller.js route.js login.html F 登录到您的帐户 {{vm.message} 此字段必填 此字段必填 记得我吗 在地址栏中,它直接进入该页面,不要求任何登录验证。请帮助
如何进行Angularjs身份验证? Logincontroller.js route.js login.html如何进行Angularjs身份验证? Logincontroller.js route.js login.html F 登录到您的帐户 {{vm.message} 此字段必填 此字段必填 记得我吗 在地址栏中,它直接进入该页面,不要求任何登录验证。请帮助,angularjs,node.js,express,passport-local,Angularjs,Node.js,Express,Passport Local,如何进行Angularjs身份验证? Logincontroller.js route.js login.html F 登录到您的帐户 {{vm.message} 此字段必填 此字段必填 记得我吗 在地址栏中,它直接进入该页面,不要求任何登录验证。请帮助我对angularjs身份验证要做哪些更改 你能把你的代码放到JSFIDLE中吗?它应该非常有用。您能给我们展示一下处理/api/pages/profile路由的代码吗? angular .module('app.pag
F
登录到您的帐户
{{vm.message}
此字段必填
此字段必填
记得我吗
在地址栏中,它直接进入该页面,不要求任何登录验证。请帮助我对angularjs身份验证要做哪些更改
你能把你的代码放到JSFIDLE中吗?它应该非常有用。您能给我们展示一下处理/api/pages/profile
路由的代码吗?
angular
.module('app.pages.auth.login')
.controller('LoginController', LoginController);
/** @ngInject */
function LoginController($http, $location)
{
var vm = this;
vm.submitPost = function(userData){
$http({
url: 'http://localhost:7200/api/pages/auth/login',
method: 'POST',
data: userData
}).then(function(res) {
if(res.data.success){
$location.path('/pages/profile');
//console.log(res.data.success);
//vm.message=res.data.message;
} else {
//console.log(res.data.message);
vm.message=res.data.message;
$location.path('/pages/auth/login');
}
}, function(error) {
console.log(error);
alert('here');
});
};
}
var User = require('../models/user');
var config = require('../config');
var secretKey = config.secretKey;
var jsonwebtoken = require('jsonwebtoken');
var validator = require('validator');
var express = require('express');
//var router = express.Router();
var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;
var flash = require('connect-flash');
module.exports = function(app, express, passport){
var router = express.Router();
passport.use(new LocalStrategy({
usernameField: 'username',
passwordField: 'password'},
function(username, password, done) {
User.findOne({ name : username}, function(err, user) {
if (!user){
return done(null, false,{message: 'Incorrect username' });
}
if(user){
var validPassword = user.comparePassword(password);
if(!validPassword){
return done(null, false,{message: 'Incorrect password' });
}
}
return done(null, user);
});
}
));
router.post('/pages/auth/login', function(req, res, next) {
passport.authenticate('local', function(err, user, info) {
if (user === false) {
console.log("login error ");
return res.json({
success:false,
message: info.message,
});
} else {
console.log("login success");
return res.json({
success:true,
//message: 'Login Success',
});
}
})(req, res, next);
});
router.post('/pages/auth/register',function(req, res){
var user = new User({
name: req.body.username,
email: req.body.email,
password: req.body.password
});
user.save(function(err){
if(err){
res.send(err);
return;
}
res.json({
success:true,
message: 'User has been created!',
});
});
});
return router;
}
<div id="login" class="scrollable" ms-scroll>
<div id="login-form-wrapper" layout="row" layout-align="center center">
<div id="login-form" class="md-whiteframe-8dp">
<div class="logo md-accent-bg">
<span>F</span>
</div>
<div class="title" translate="LOGIN.TITLE">Log in to your account</div>
<form name="loginForm">
<div class="alertmessage" >{{vm.message}}</div>
<md-input-container flex md-no-float>
<input ng-model="vm.form.username" placeholder="Username" translate
translate-attr-placeholder="LOGIN.USERNAME" name="username" required="true">
<div ng-messages="loginForm.username.$error" ng-show="loginForm.username.$touched">
<div ng-message="required">This field is required</div>
</div>
</md-input-container>
<md-input-container flex md-no-float>
<input ng-model="vm.form.password" type="password" placeholder="Password" translate
translate-attr-placeholder="LOGIN.PASSWORD" name="password" required="true">
<div ng-messages="loginForm.password.$error" ng-show="loginForm.password.$touched">
<div ng-message="required">This field is required</div>
</div>
</md-input-container>
<div class="remember-forgot-password" layout="row" layout-sm="column"
layout-align="space-between center">
<md-checkbox class="remember-me" ng-model="data.cb1" aria-label="Remember Me">
<span translate="LOGIN.REMEMBER_ME">Remember Me</span>
</md-checkbox>
<a ui-sref="app.pages_auth_forgot-password" class="forgot-password md-accent-color"
translate="LOGIN.FORGOT_PASSWORD">Forgot Password?</a>
</div>
<md-button class="md-raised md-accent" aria-label="LOG IN" translate="LOGIN.LOG_IN"
translate-attr-aria-label="LOGIN.LOG_IN"
ng-click="vm.submitPost(vm.form);">
LOG IN
</md-button>
</form>
<div class="separator">
<span class="text" translate="LOGIN.OR">OR</span>
</div>
<md-button class="md-raised google">
<div layout="row" layout-align="center center">
<span>
<md-icon md-font-icon="icon-google-plus" class="s16"></md-icon>
<span translate="LOGIN.WITH_GOOGLE">Log in with Google</span>
</span>
</div>
</md-button>
<md-button class="md-raised facebook">
<div layout="row" layout-align="center center">
<span>
<md-icon md-font-icon="icon-facebook" class="s16"></md-icon>
<span translate="LOGIN.WITH_FACEBOOK">Log in with Facebook</span>
</span>
</div>
</md-button>
<div class="register" layout="row" layout-sm="column" layout-align="center center">
<span class="text" translate="LOGIN.DONT_HAVE_ACCOUNT">Don't have an account?</span>
<a class="link" ui-sref="app.pages_auth_register" translate="LOGIN.CREATE_ACCOUNT">Create an account</a>
</div>
</div>
</div>