【问题标题】:Authorization in a multi-homed environment多宿主环境中的授权
【发布时间】:2010-11-30 18:01:49
【问题描述】:

我有一个多宿主系统,即我们的客户共享一个数据库。使用 MVC 路由,我可以将客户名称作为域的第一部分 ({customer}.server.tld) 传递,并将其转换为我的控制器操作的参数。

问题包括:

授权:我怎样才能透明地执行此操作,以便进行控制器操作的开发人员不必记住要执行此操作,并且未经授权的人在无权查看特定客户时会自动收到 403?

参数传递:我不希望每个控制器操作都有一个名为“customerId”的参数。数据具有 GUID 主键,因此在数据访问级别不需要 customerId。

我应该在这里做什么?我不希望用户更改 URL 并访问我们所有客户的数据!

【问题讨论】:

    标签: asp.net-mvc authorization asp.net-mvc-routing


    【解决方案1】:

    您是否考虑过使用 Windows Identity Foundation (WIF)? 听起来可能有点矫枉过正,但它不仅允许您将 AuthN 与 AuthZ 分开,而且还具有代码逻辑(在一个地方!),您可以在其中检查每个客户声明(可能基于路线数据)并采取相应的行动......查看其中一些链接:

    【讨论】:

      猜你喜欢
      • 2013-04-27
      • 1970-01-01
      • 2020-05-28
      • 2011-09-14
      • 1970-01-01
      • 2017-07-21
      • 2019-02-21
      • 2014-11-26
      • 1970-01-01
      相关资源
      最近更新 更多