我有两个登录类型,一个是simpleuser,另一个是admin ...一个管理员是默认管理员,他创建其他管理员的帐户,他也分配设计和部门
登录代码
if (users == 1)
{
Session["Login2"] = txt_username.Value;
Session["Login3"] = txt_pass.Value;
Session["UserTypeID"] = users;
Response.Redirect("AdminOp.aspx");
}
else if (users == 2)
{
Session["Login2"] = txt_username.Value;
Session["Login3"] = txt_pass.Value;
Session["UserTypeID"] = users;
Response.Redirect("upload.aspx");
}
}
catch
{
Label8.Text = "Incorrect User Name or Password";
}
}
1是admin,2是user 当supervsior登录他们的帐户然后他看到菜单里面有这样的选项这是adminOp.aspx
View Documents
</span>
</a>
</li>
<li>
<a href="SuperVisor.aspx">
<span>
Approve Documents
</span>
</a>
</li>
现在当经理登录时,他们如何访问他们的页面并能够看到他们的菜单,因为在上面的选项中只有主管......那么这就是经理呢?
答案 0 :(得分:0)
听起来您可能需要第三种用户类型。
如果您只想向某个组显示选项,请将其放在面板中并根据用户类型隐藏它。
<asp:Panel id="managerMenuOptions" visible="false">
{options here}
</asp:Panel>
在您的代码隐藏中,如果您的用户类型需要查看此菜单,则代码为:
managerMenuOptions.Visible = true;
修改强>
执行此操作的“正确方法”可能是创建具有类型和名称的用户对象。然后检查所需属性的值,以便在UI中显示所需内容。
然后你可以检查:
user.Type == 1
user.Designation = "manager"
你可以做的另一件事 - 有时候“正确的方式”因某种原因不可行 - 创建一个变量,你将名称存储在其中,然后使用它来驱动你是否显示选项。只做没有对象,它会做同样的事情。
无论哪种方式,概念都是一样的。您需要存储要在某处检查的值,以便在需要时存储它。