我有一个使用C#MVC构建的项目。我试图在一个视图中构建一个解决方案,只有当您登录时才会显示某些内容。 我知道如何使用Razor完成此操作,但视图是.html。 是否可以使用Angular验证用户是否已登录?MVC,使用AngularJS进行登录验证
编辑
我试图遵循巴尔韦德的建议。以下是我目前的设置,但我在CONSOL收到此错误:
Error: [$injector:unpr] Unknown provider: loginServiceProvider <- loginService
MatchController:
[Route("api/Match/userAuthentication")]
public IHttpActionResult GenerateTournamentTree()
{
bool isLoggedIn = false;
if (User.Identity.IsAuthenticated) {
isLoggedIn = true;
}
return Json(new { Result = isLoggedIn });
}
我不知道如果返回类型应该是使用JSON?
fightCardController.js:
angular.module('FightCardModule').controller("FightCardController",
['$scope', '$modal', '$http', '$routeParams', 'guidGenerator', 'eventBus', domainName + "Service", 'MatchModelFactory', 'loginService',
function ($scope, $modal, $http, $routeParams, guidGenerator, eventBus, domainService, modelFactory, loginService) {
$scope.isUserLoggedIn = false;
loginService.isUserLoggedIn().success(function (data) {
$scope.isuserLoggedIn = data;
});
})();
loginService.js:
app.factory('loginService', ['$http', function ($http) {
return {
isUserLoggedIn: function() {
url = "/Match/userAuthentication"
return $http.get(url);
}
}
}]);
在此先感谢。
嗨巴尔韦德。这么晚才回复很抱歉!我试图遵循你的建议,并且编辑了我迄今为止所完成的问题。 – 2015-04-15 12:27:03
Hi Casper,当Angular找不到这样的模块或提供或其他东西时,这是一个角度错误'[$ injector:unpr]'。最常见的原因是未附加的文件。确保你没有忘记用'loginService'加载'js'文件。例如'' – valverde93 2015-04-15 12:49:05
并且'Json'不需要返回类型。你可以发送'bool'值(偶数对象),'$ http'服务将独立解析对Json的响应。 – valverde93 2015-04-15 13:10:24