[英]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.