嗨其他堆叠器...我有一个使用表单身份验证的ASP.NET 3.5应用程序。我想请求仅供经过身份验证的用户使用的页面,但在某些情况下能够将其显示给未经过身份验证的用户。我的问题是在页面生命周期的哪个阶段我需要告诉ASP.NET可以显示页面,我该如何告诉它这样做。
我试过这个无济于事:
void Application_AuthenticateRequest(Object sender, EventArgs e)
{
HttpContext.Current.SkipAuthorization = true;
}
当然上面的示例仅用于测试目的
答案 0 :(得分:2)
在页面加载时,为什么不使用:
if (Page.User.Identity.IsAuthenticated){
//your code for logged in users.
} else {
// if not logged in.
}
将页面放在不安全的目录中。
答案 1 :(得分:0)
我不确定你的意思是“试着无济于事”。究竟发生了什么?如果您正在使用BeginRequest
或AuthenticateRequest
中的方法(AuthorizeRequest
之前发生的唯一两个请求管道事件)操纵当前HTTP上下文以跳过授权,它将绕过任何授权web.config
文件中允许或拒绝用户的设置。
您目前如何授权对相关网页的请求?