gpt4 book ai didi

asp.net-mvc - 如何在 ASP.NET MVC 3 Intranet 应用程序中重新验证用户?

转载 作者:行者123 更新时间:2023-12-04 15:03:11 38 4
gpt4 key购买 nike

该应用程序已经在使用 Windows 集成安全性,而不是 Forms。我试图完成的是所谓的“逐步”身份验证,或以下场景的“强制重新身份验证”:

  • 用户正在浏览网站做一些普通的、琐碎的事情
  • 突然,用户不得不做一个敏感的 Action ,比如授权
    资源分配或确认汽车贷款或类似的东西
  • 在用户被重定向到之前,系统会提示用户输入凭据
    敏感页面,其方式类似于 SharePoint 的“以身份登录”
    不同的用户”
  • 当且仅当输入的凭据是
    与当前登录用户的应用程序相同
    进入敏感区。

  • 这将防止以下两个问题:
  • 用户去开会或喝咖啡时忘记锁定
    工作站和同事使用 session 访问敏感
    区域
  • 用户输入他或她的老板的凭据(因为,让我们
    说他从老板的肩膀上偷看)进入敏感区域。

  • 我知道,有些人会认为这是“偏执”,但也有些人会说这是常识,应该在某个框架中构建(jQuery 或 .NET)

    最佳答案

    让表单随请求一起发送凭据以执行操作,即某些操作要求您提供用户名/密码。使用 PrincipalContext ValidateCredentials方法以确保输入了正确的凭据并检查提供的用户名是否与 User.Identity 中的当前用户名匹配目的。

    public ActionResult SensitiveAction( SensitiveModel model, string username, string password )
    {
    using (var context = new PrincipalContext(ContextType.Domain))
    {
    if (!string.Equals(this.User.Identity.Name,username,StringComparison.OrdinalIgnoreCase)
    || !context.ValidateCredentials(username,password))
    {
    return View("PermissionDenied");
    }
    }

    ...
    }

    关于asp.net-mvc - 如何在 ASP.NET MVC 3 Intranet 应用程序中重新验证用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7585539/

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