【发布时间】:2011-01-27 15:21:55
【问题描述】:
我有一个使用 Windows 身份验证 (Active Directory) 安全性的 .Net 4.0 应用程序。我决定编写自己的处理程序,通过查看页面名称并检查用户是否在定义为有权访问该特定页面的正确 AD 组中来检查用户是否有权访问当前页面。
此应用程序严格来说是一个仅在我们公司域中运行的 Intranet 应用程序。
我只是使用:“System.Web.HttpContext.Current.User.IsInRole”。
如果用户在组中,我会照常继续。如果用户不在组中,我会将用户重定向到“禁止访问”页面。
我的问题是...我正在执行此 (IsInRole) 检查每次页面加载时(在 PageLoad() 中,我的所有页面都会调用一个方法,每次页面加载时都会根据页面验证用户... )
您如何建议我在这方面更有效率? (我想我至少可以在调用验证代码之前进行“!PostBack”测试,对吧?)使用 Sessions 变量和/或 Cookie 怎么样?
非常感谢任何建议!
附: - 我过去曾使用过 Membership Provider,并考虑将其用于此应用程序,但我决定不这样做。我想要做的事情非常简单,我真的不想把我的数据库或代码与所有会员资格提供的东西混为一谈。
【问题讨论】: