Javascript 将ASP.NET标识获取到Angular.js
我已经在MVC应用程序中设置了ASP.NET Identity 2,以授权用户进行标准页面和Web API调用。只需添加Javascript 将ASP.NET标识获取到Angular.js,javascript,asp.net,asp.net-mvc,angularjs,asp.net-identity-2,Javascript,Asp.net,Asp.net Mvc,Angularjs,Asp.net Identity 2,我已经在MVC应用程序中设置了ASP.NET Identity 2,以授权用户进行标准页面和Web API调用。只需添加[Authorize]属性()就可以防止未经授权的访问,但我还需要能够以与在MVC视图和控制器中使用User.Identity相同的方式获取当前IPrinicple。在视图和控制器移交给Angular之前,我可以通过在视图和控制器中使用它来完成一些事情,但我还需要能够读取这些值,例如根据当前用户的角色创建菜单 我曾考虑过阅读ASP.NET Idenity cookies,但这需
[Authorize]
属性()就可以防止未经授权的访问,但我还需要能够以与在MVC视图和控制器中使用User.Identity
相同的方式获取当前IPrinicple
。在视图和控制器移交给Angular之前,我可以通过在视图和控制器中使用它来完成一些事情,但我还需要能够读取这些值,例如根据当前用户的角色创建菜单
我曾考虑过阅读ASP.NET Idenity cookies,但这需要对cookie进行解密,如果不公开解密密钥,我显然无法在客户端完成这项工作
有没有一种方法可以将
User.Identity
以客户端代码可以使用的方式传递给Angular.js?为什么不让服务器viáweb api(或类似)让angularJS知道应该呈现哪些菜单?如果GUI层需要根据用户角色来决定事情,我认为这不是一个好的设计。在我看来,这应该在一个较低的层次上决定。我并不是让GUI本身决定要显示哪些项目;它在配置服务中。但这确实给了我一个想法:也许创建一个[Authorize]
d Web API调用来返回当前用户…@StephenCollins我想你问过自己。添加一个控制器操作,该操作将向客户端返回具有所需属性的UserModel。显然是使用[Authorize]属性。