我正在开发一个内部网asp.net应用程序。我们将使用Windows身份验证,因此身份验证模式设置为web.config中的windows。
我想将某些页面限制为仅限某些用户,因此我使用的是 使用标记标记以允许/拒绝某些用户。
场景:
不允许User1访问“Reports.aspx”页面(此页面使用web.config中的授权标记进行限制访问)
允许User2访问此页面。 它们都在MYCOMPANY域中。
当User1尝试访问此页面时,会显示一个凭据弹出窗口 - 他将输入“User2”的详细信息,因为user2被允许访问;随后,user1现在可以访问此页面(通过使用user2的详细信息)。
现在user1返回到其他不受授权标签限制的页面。让我们说他去主页。现在再次从主页,他将尝试访问Reports.aspx。从逻辑上讲,此时必须再次提示登录凭据。但是没有弹出窗口,允许user1访问REports页面。
我决定在此方案中使用HTTPContext.Current.User.Identity.Name检查用户名。当user1尝试第二次访问Reports.aspx时(在第一次成功登录后),他的凭据将存储在浏览器中(我猜),因为这一次,当页面加载时,凭据显示为User2代码背后。
如何防止这种情况并每次强制登录此页面提示?
答案 0 :(得分:0)
当我问这个问题时,猜猜我回来了。
为了可能面临某种情况的人的利益 - 当您再次登录时,不再维护原始凭据,并且ASP.NET始终将您识别为User2。