【发布时间】:2016-04-09 21:55:56
【问题描述】:
我是一名 ASP.NET MVC 开发人员,最近开始学习 AngularJS,因为它似乎是一种更现代的技术。
但是,当谈到 AngularJS 中的身份验证和授权时,我想到了一些复杂的问题。特别是 AngularJS 以 ASP.NET Web API 作为后端。
身份验证并从 api 获取令牌后,我会想象使用 Angularjs 将令牌存储在 cookie 中。因此,任何进一步的请求都将包含令牌。说由于某种原因,令牌过期,对 api 的下一个 angularjs 请求将因未经授权而失败。但是,在客户端,Angular 认为它已经过身份验证(cookie),并将继续在所有请求中使用该无效令牌。我可以想到一个解决方案,即检查每个请求的“未经授权”响应,如果是这种情况,则重定向到登录。但我可能会因为这种做法而被枪杀。
在 ASP.NET MVC 中,保护某个页面/资源就像添加 [Authorize] 一样简单。但是在角度上,它似乎非常复杂。我如何保护许多页面免受未经身份验证的影响?我是否必须为每条路线等设置和拦截器?
授权也是如此,如果经过身份验证的用户尝试访问管理面板或管理面板的某些部分,该怎么办。如果他们通过直接 URL 访问,我如何重定向到未经授权的页面。
【问题讨论】:
标签: asp.net angularjs authentication asp.net-web-api authorization