0

我有两种登录类型,一种是简单用户,另一种是管理员...一个管理员是默认管理员,他创建其他管理员的帐户,他还分配了设计和部门

登录代码

             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 是管理员,2 是用户,当主管登录到他们的帐户时,他会看到菜单,其中有这样的选项,这是 adminOp.aspx

  •                 View Documents
    
                </span>
            </a>
        </li>
        <li>
            <a href="SuperVisor.aspx">
                <span>
    
                    Approve Documents
    
                </span>
            </a>
        </li>
    

    现在当经理登录时,他们如何访问他们的页面并能够看到他们的菜单,因为在上面的选项中只有主管......这就是经理怎么办?

  • 4

    1 回答 1

    0

    听起来您可能需要第三种用户类型。

    如果您只想向某个组显示选项,请将其放在面板中并根据用户类型将其隐藏。

    <asp:Panel id="managerMenuOptions" visible="false">
     {options here}
    </asp:Panel>
    

    在您的代码隐藏中,如果您的用户类型需要查看此菜单,则代码将是:

    managerMenuOptions.Visible = true;
    

    编辑

    执行此操作的“正确方法”可能是创建具有类型和名称的用户对象。然后检查您需要在 UI 中显示您需要的属性的值。

    然后你可以检查:

    user.Type == 1
    user.Designation = "manager"
    

    您可以做的另一件事 - 有时“正确的方法”由于某种原因不可行 - 是创建一个变量来存储名称,然后使用它来驱动是否显示选项。它会做同样的事情,只是没有对象。

    无论哪种方式,概念都是相同的。您需要将要检查的值存储在某处,以便在需要时出现。

    于 2013-11-07T18:29:14.313 回答