我有一個使用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