gpt4 book ai didi

authentication - ASP.NET MVC2 应用程序中的第二层身份验证

转载 作者:行者123 更新时间:2023-12-02 02:31:42 26 4
gpt4 key购买 nike

我们有一个 ASP.NET 应用程序,它部分在 MVC 中(其余部分是基于 Web 表单的遗留 CMS)。该应用程序通过 Forms Authentication 进行身份验证,尽管从一组特定 IP 地址访问它的任何用户都会自动分配给“特殊”用户。

我们目前有一个子应用程序,我们希望将其作为一个区域引入(父)MVC 应用程序。此应用程序使用 Windows 身份验证作为第二层身份验证。是否有一种简单的方法来保留第二层身份验证(可能通过第二个授权属性)?请记住,用户可以从用于特殊表单例份验证用户的 IP 地址集内部和外部登录此应用程序,这排除了直接表单例份验证。如果这样可以使解决方案更简单,我们也不必将第二层的 Windows 身份验证绑定(bind)。

最佳答案

我还没有完全尝试过,但从我到目前为止所见和尝试过的情况来看,我解决自己问题的方法是:

  1. 对保护区使用 Forms 身份验证,而不是 Windows 身份验证。
  2. 为允许访问此区域的某些用户创建角色并相应地分配它。
  3. 创建一个新的自定义授权属性,将未经身份验证的用户发送到登录页面。在这种情况下,我需要这样做,因为应用程序将登录页面定义为 IP 检查器(而不是正确的登录页面),因此使用普通授权属性会导致请求无限循环。该过程类似于描述的解决方案 here ,除了我使用的是普通 RedirectResult 而不是 RedirectToRouteResult 因为登录页面仍然是 WebForms 而不是 MVC。
  4. (可选)因为我使用的是 MVC 区域,所以我什至可以 create a base controller with the custom authorisation attribute & derive all other controllers from it .这使我免于在每个 Controller 中为每个方法添加前缀(毫无疑问,这会阻止我忘记在某个地方这样做!)。

不过,我仍然对其他解决方案持开放态度!

关于authentication - ASP.NET MVC2 应用程序中的第二层身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3583700/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com