使用Angular.JS和WIF进行基于声明的授权

时间:2014-04-20 13:31:39

标签: asp.net-mvc angularjs authorization wif claims-based-identity

我们有一个使用ASP.NET MVC 5构建的应用程序。 对于该应用程序,我们已经构建了几个与URL相关的HTML帮助程序,其行为如下:

想象一下,有一个锚通往某个URL,即/ Customer / Edit / 5。我们有一个帮助器,它将在后台询问ClaimsAuthorizationManager(它是Windows Identity Foundation API的一部分)当前用户是否可以在资源Customer上执行Edit操作。如果是,将呈现锚标记的HTML标记。否则,什么都不会呈现。

通过这些帮助,我们能够根据后台政策建立动态网站,这些政策定义了网址用户可以根据具体声明进行访问。

现在我们需要将相同的逻辑推送到基于AngularJS的SPA。

同样,如果不允许用户访问该特定URL,目标是跳过与URL相关的HTML的呈现。

我无法找到有关如何使用AngularJS执行此类授权的任何有用资源。

是否有正确的方法来执行此操作,还是应该使用某些自定义逻辑? 有什么好的参考资料我可以阅读吗?

1 个答案:

答案 0 :(得分:1)

Angular在RESTful应用程序中非常有用。在您的情况下,您可以设置应用程序以将您的声明提取为JSON,并将角度模板设置为相应地进行渲染。

但是你也可以在部分视图上使用MVC的辅助方法,并将这些部分用作角度应用程序的模板。因此,当您的角应用程序在foo/bar/baz(通过路由或ng-include或指令模板或其他)获取html模板时,您的html模板将返回MVC局部视图而不是静态html文件。它有点脏,但它可以用来捏。