【发布时间】:2014-04-11 09:36:32
【问题描述】:
我开始构建一个 Web 应用程序,用户需要在其中进行身份验证才能访问不同的模块。
我过去一直在使用 ASP.NET MVC,使用 FormsAuthentication 和服务器会话非常容易,因此我不必为了获取用户角色或任何其他用户相关数据而往返数据库每次我访问网络方法时。
我一直在阅读的内容,AngularJS 不会那样工作,所以不会有任何服务器会话等。所以...
如果每次访问 Web 方法时都需要验证用户身份,我是否需要使用数据库,或者有什么好的做法可以学习?
我知道有一些方法可以在客户端存储状态数据,但这会如何影响 Web 应用程序的性能?
我已经看到,当用户登录到应用程序时,最好的方法是向客户端发送令牌,然后强制 AngularJS 在每次访问 Web 方法时发送该令牌......但是发送到客户端用户 sessionId(来自数据库),然后在每个 Web 方法使用发送它,然后创建一个过滤器,您可以在其中检查 sessionId 是否存在于数据库中,以便验证用户身份?
感谢任何意见或建议。
谢谢。
【问题讨论】:
-
这更多是关于如何保护 REST API(服务器端资产)的问题。 Angular 不会阻止您使用 cookie 和会话进行身份验证。
-
Angular 在身份验证方面是不可知的,您可以使用您习惯使用的相同方法。
标签: angularjs asp.net-mvc-4 asp.net-web-api