如何进行Angularjs身份验证? Logincontroller.js route.js login.html F 登录到您的帐户 {{vm.message} 此字段必填 此字段必填 记得我吗 在地址栏中,它直接进入该页面,不要求任何登录验证。请帮助

如何进行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

如何进行Angularjs身份验证? Logincontroller.js route.js login.html

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>