该应用程序已经使用 Windows 集成安全性,而不是 Forms。我想要完成的是所谓的“逐步”身份验证,或针对以下情况的“强制重新身份验证”:
- 用户正在浏览网站做一些常见的、琐碎的事情
- 突然,用户必须执行敏感操作,例如授权
资源分配或确认汽车贷款或类似的东西
- 在用户被重定向到之前,系统会提示他输入凭据
敏感页面,其方式类似于 SharePoint 的“登录身份”
不同的用户”
- 当且仅当输入的凭据是
与当前登录用户的应用程序相同
继续前往敏感区域。
这可以防止以下两个问题:
- 用户去开会或喝咖啡时忘记锁定
工作站和同事使用会话来访问敏感信息
区域
- 用户输入他或她老板的凭据(因为,让我们
假设他从老板的肩膀上偷看)以进入敏感区域。
我知道,有些人会认为这是“偏执”,但也有些人会说这是常识,应该在某个地方的框架中构建(jQuery 或 .NET)
让表单发送凭据以及执行操作的请求,即某些操作要求您提供用户名/密码。使用PrincipalContext验证凭证 http://msdn.microsoft.com/en-us/library/bb154889.aspx方法以确保输入了正确的凭据并检查提供的用户名是否与当前用户名相匹配User.Identity
object.
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");
}
}
...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)