繁体   English   中英

AngulagJS MVC Web API 2登录

[英]AngulagJS MVC Web API 2 Login

我想创建一个登录页面,我不使用aspnetusers表,而是使用我的成员表。 如何创建自己的令牌,授权/身份验证?

到目前为止,这是我的代码:用于api调用和登录控制器js的Web api 2控制器

"use strict";

app.controller('MemberSignInController', MemberSignInController);

MemberSignInController.$inject = ['$scope', '$http', '$location', '$routeParams', 'toaster', '$rootScope', 'DataServiceFactory']

function MemberSignInController($scope, $http, $location, $routeParams, toaster, $rootScope, DataServiceFactory) {

    var vm = this;

    vm.member = {};

    vm.signIn = function () {
        vm.showMessage = false;

        var params = {
            cardNumber: vm.member.username,
            password: vm.member.password
        };

        $http.post('api/member/login', params).then(
            function (response) {
                $rootScope.loggedIn = true;
                DataServiceFactory.Id = response.data.memberId;             
                window.location = '#!/profile';
            },
            function (response) {           
                toaster.pop('error', "Sign In Failed", response.data, 5000);
                $rootScope.loggedIn = false;
                window.location = '#!/signIn';
            }
        );

    }
}

到目前为止,这是我的代码,并且可以正常工作,但是当我刷新页面时,登录用户数据很清楚,我必须注销才能再次登录才能看到数据。

请帮助我,谢谢!

您的登录用户数据将在刷新时清除,因为它没有存储在任何地方。

由于您将AngularJS与Webapi一起使用,因此您需要了解调用是无会话的。

成功登录后,您必须使用cookie来存储数据,并且刷新后,您需要检查cookie上是否有可用数据。

如果cookie中有可用数据,请保留会话或重定向到登录页面。

注销后,清除cookie。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM