我应该在哪里实现 n 层架构中的安全/授权?
我正在使用 N 层架构开发 ASP.Net MVC 应用程序。我应该将授权模块实现为不同的层还是服务?
一些业务规则也取决于用户角色,那么实现安全性的最佳方法是什么?
我应该在哪里实现 n 层架构中的安全/授权?
我正在使用 N 层架构开发 ASP.Net MVC 应用程序。我应该将授权模块实现为不同的层还是服务?
一些业务规则也取决于用户角色,那么实现安全性的最佳方法是什么?
在 n 层应用程序中,无论使用何种技术(C#、java...),您都可能希望将授权完全外部化到您提到自己的不同服务。有一个标准称为XACML(可扩展访问控制标记语言)。它给你
使用 XACML,您可以将细粒度授权(即考虑用户、资源和其他上下文元数据的授权)应用到应用程序的所有层:表示层(显示/隐藏或启用/禁用小部件), Web 层(用于控制对 Web 应用程序、URL、Web 服务、API 的访问)、业务层,甚至数据库层本身。我称之为无处不在的架构。
XACML 的好处是它并不特定于您的 .NET 环境。这意味着您可以在其他环境中利用它。
实际上,我上周在 Java 开发者大会上提出了这个主题。您可以在SlideShare上查看我的演示文稿。
高温高压