我在 ASP.Net 中使用表单身份验证方法,问题是它只保护“ .aspx”文件。我正在尝试保护“ kcfinder”文件夹中的“.php”文件免受未经身份验证的用户的侵害。
我在“App_Code”文件夹中实现了这个类。
public class KCChecker
{
public static void Process(HttpApplication Application)
{
HttpRequest Request = Application.Context.Request;
HttpResponse Response = Application.Context.Response;
string url = Request.Path.ToLower();
if (url.IndexOf("/kcfinder/") == 0 && !HttpContext.Current.User.Identity.IsAuthenticated)
{
Response.Redirect("/");
}
}
}
问题是它总是说“对象引用未设置为对象的实例”。上HttpContext.Current.User.Identity.IsAuthenticated
。我尝试将其更改为,Application.Context.User.Identity.IsAuthenticated
但仍然显示相同的错误。
有什么方法可以在这个自定义模块的 Process 函数中访问用户对象吗?