angularjs – 将认证信息从MVC传递到角度
我的项目使用MVC来提供我网站的初始标记
MVC控制器非常简单: public class HomeController : Controller { public ActionResult Index() { return View(); } } 我在布局视图中有我的ng-app标签,捆绑和@RenderBody: <!DOCTYPE html> <html ng-app="myAppName"> <head> @Styles.Render("~/Content/css") </head> <body> <div class="container body-content"> @RenderBody() </div> @Scripts.Render("~/bundles/aBundle") </body> </html> 我的索引视图尽可能简单: <ng-view></ng-view> 我的angular app.ts文件如下所示: module app { var main = angular.module("myAppName",["ngRoute","breeze.angular"]); main.config(routeConfig); routeConfig.$inject = ["$routeProvider"]; function routeConfig($routeProvider: ng.route.IRouteProvider): void { $routeProvider .when("/home",{ templateUrl: "app/views/homeView.html",controller: "HomeController as vm" }) .when("/itemDetail/:itemId",{ templateUrl: "app/views/itemDetailView.html",controller: "ItemDetailController as vm" }) .when("/addItem",{ templateUrl: "app/views/addItemView.html",controller: "AddItemController as vm" }) .when("/login",{ templateUrl: "app/views/loginView.html",controller: "LoginController as vm" }) .otherwise("/home"); } } 我可以检查用户在MVC控制器中发送的请求,或者在Razor视图中使用@Request.IsAuthenticated查看用户是否已登录,但是将此信息传递给我的角度应用程序的最佳方法是什么可以在用户首次登录时正确地将用户路由到登录页面,但如果他们在服务器上有活动会话,则跳过登录页面? 我试图解决这个问题的研究告诉我,我可能需要创建一个角度服务来存储关于用户是否经过身份验证的布尔值.然后,我需要添加一些代码来使用$routeChangeStart检查每个路由的此服务,并仅在必要时重定向到登录页面.我看了很多例子,但是在我自己的应用程序的上下文中不能完全把它们放在一起. 有人可以帮我点点滴滴吗?
我正在开发一个我不使用剃须刀的项目.视图中只有html和angular.那么……我做的是:
我创建了一个包含布局的指令“appWrapper”.在其中有一个具有ng-view的部分. 它有帮助吗?如果需要,我可以发布代码供您使用. 无需在控制器内创建操作来检查此操作.它需要您的应用程序转到服务器,返回浏览器,返回服务器并返回浏览器以执行用户执行的每个操作.这个不好. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |