好的,所以我正在寻找一些架构指导,我的团队有机会使用我们正在构建的新功能重新制定某些决策,我想看看 SO 的想法:-)当然某些事情我们不会改变,所以解决方案必须适合这个模型。也就是说,我们有一个 ASP.NET 应用程序,它使用 Web 服务来允许用户在系统上执行操作。
问题的出现是因为与许多系统一样,不同的用户需要访问不同的功能。一些角色可以访问 Y 按钮,而另一些角色可以访问 Y 和 B 按钮,而另一个角色仍然只能访问 B。大多数时候,我看到这个,开发人员只是把 if 语句混杂在一起来处理用户界面状态。我担心如果不加以检查,这将成为无法维护的混乱,因为除了将授权逻辑放在 GUI 中之外,还需要将其放在 Web 服务中(通过 ajax 调用)以确保只有授权用户才能调用某些方法.
所以我的问题是,如何设计一个系统来减少检查特定角色的随机临时 if 语句,这些语句可以在 GUI/webform 代码和 web 服务代码中重复使用。
为清楚起见,这是一个 ASP.NET Web 应用程序,使用 Web 表单和Script#来实现 AJAX 功能。不要让脚本#让您无法回答,它与 asp.net ajax 没有根本不同:-)