Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将ASP.NET标识获取到Angular.js_Javascript_Asp.net_Asp.net Mvc_Angularjs_Asp.net Identity 2 - Fatal编程技术网

Javascript 将ASP.NET标识获取到Angular.js

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,但这需

我已经在MVC应用程序中设置了ASP.NET Identity 2,以授权用户进行标准页面和Web API调用。只需添加
[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]属性。