避免认证

时间:2009-08-19 20:58:12

标签: asp.net forms-authentication

嗨其他堆叠器...我有一个使用表单身份验证的ASP.NET 3.5应用程序。我想请求仅供经过身份验证的用户使用的页面,但在某些情况下能够将其显示给未经过身份验证的用户。我的问题是在页面生命周期的哪个阶段我需要告诉ASP.NET可以显示页面,我该如何告诉它这样做。

我试过这个无济于事:

void Application_AuthenticateRequest(Object sender, EventArgs e)
{
    HttpContext.Current.SkipAuthorization = true;
}

当然上面的示例仅用于测试目的

2 个答案:

答案 0 :(得分:2)

在页面加载时,为什么不使用:

 if (Page.User.Identity.IsAuthenticated){
      //your code for logged in users.
 } else {

    // if not logged in.
 }

将页面放在不安全的目录中。

答案 1 :(得分:0)

我不确定你的意思是“试着无济于事”。究竟发生了什么?如果您正在使用BeginRequestAuthenticateRequest中的方法(AuthorizeRequest之前发生的唯一两个请求管道事件)操纵当前HTTP上下文以跳过授权,它将绕过任何授权web.config文件中允许或拒绝用户的设置。

您目前如何授权对相关网页的请求?