【问题标题】:Authorization using custom authorization library使用自定义授权库进行授权
【发布时间】:2017-11-08 17:08:27
【问题描述】:

我正在开发一个新的 Intranet MVC 应用程序,它具有基于 Windows 的身份验证,并尝试使用现有的内部公司授权库,该库采用 user IDgroup 两个输入参数并检查用户是否属于组并返回一个布尔值。

我希望在用户使用 Windows AD 成功进行身份验证后立即检查授权规则,并允许授权用户完全访问整个站点。如果他们未经授权,则将他们带到自定义错误页面并将他们锁定在页面的所有视图之外。我已经阅读了 MVC 基于角色的身份验证,但不太清楚如何使用自定义授权库来实现它。

我现在的做法是在每个控制器中简单地放置 try catch 块来授权用户,但这不是很干,而且看起来也不是那么安全。实现我的结果的正确 MVC 方式是什么?

谢谢。

【问题讨论】:

    标签: c# asp.net-mvc asp.net-mvc-4


    【解决方案1】:

    我的偏好是使用 进行身份验证和授权。默认情况下,身份使用它自己的表和角色,但您可以轻松地覆盖使用表的方法来使用您想要的任何内容。

    使用 Windows AD 成功验证用户身份后

    只需派生您自己的SignInManager 版本并覆盖PasswordSignInAsync。有很多 other ways (and more) 可以修改身份框架以通过 AD 进行身份验证。

    我希望在用户成功认证后立即检查授权规则

    只需在您的方法或控制器上使用AuthorizeAttribute 即可确保所有请求均有效。

    现有的公司内部授权库,接受用户ID和组两个输入参数,并检查用户是否属于该组并返回一个布尔值。

    您还可以派生自己的 UserManager 和 RoleManager to check if a user is in a role

    【讨论】:

      猜你喜欢
      • 2021-06-05
      • 1970-01-01
      • 1970-01-01
      • 2014-10-28
      • 2015-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多