我正在建立一个网站,需要登录才能访问他/她的个人资料 因此,一些页面对于用户和管理员是相同的(即他们两个都能够使用相应的登录ID查看页面)和我用来确保没有人可以进入URL的代码访问WITHOUT LOGGING是
if (Session["cod"] == null && Session["admin"] == null)
{
Response.Redirect("You need to Login.aspx");
}
在页面加载事件中 这工作绝对正常
但是如果这些页面是为管理员保留的话,问题就会出现;这里的代码不起作用 在登录后,即使是简单的用户也可以通过在URL中写入管理页面路径来访问 Thanx提前
答案 0 :(得分:0)
我猜你的if语句中的AND操作需要是OR。
根据上述逻辑,如果没有cod
会话和没有admin
会话,则会拒绝用户访问(并重定向)。
这意味着将允许具有仅鳕鱼会话的用户访问。
答案 1 :(得分:0)
除了重定向到登录页面外,您还需要添加一些代码来检查每个页面的授权。
例如,如果用户尝试转到管理页面,您可以写:
if (Session["cod"] != null && Session["admin"] == null)
{
Response.Redirect("user home page.aspx");
} else if (Session["cod"] == null && Session["admin"] == null) {
Response.Redirect("You need to Login.aspx");
}