我是 .NET 的新手 - 我正在制作一个具有管理部分的网站,该部分应该只对登录用户可见。 我已经创建了登录代码,一旦用户通过身份验证,我就会为他们分配一个 session 变量。 我的问题是:是否有更有效的方法来检查 session 变量而不是在每个页面上使用以下函数?
protected void Page_Load(object sender, EventArgs e)
{
checkSession();
}
public void checkSession()
{
if (Session["LoggedIn"] != "true")
{
Response.Redirect("default.aspx");
}
}
谢谢!
最佳答案
如果您使用的是 MasterPage
,如果不使用 Global.asax
或自定义 HttpModule
并将检查代码放入第一个的 AcquireRequestState
事件处理程序和第二个的 PostRequestHandlerExecute
事件处理程序
使用 Global.asax 的示例
public class Global : System.Web.HttpApplication
{ ...
void Application_AcquireRequestState(object sender, EventArgs e)
{
HttpContext context = HttpContext.Current;
// CheckSession() inlined
if (context.Session["LoggedIn"] != "true")
{
context.Response.Redirect("default.aspx");
}
}
...
}
关于c# - 在每一页检查 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15662543/