通过asp.net中的指定登录

时间:2013-11-07 18:23:07

标签: c# asp.net login

我有两个登录类型,一个是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>
    

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

  • 1 个答案:

    答案 0 :(得分:0)

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

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

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

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

    managerMenuOptions.Visible = true;
    

    修改

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

    然后你可以检查:

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

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

    无论哪种方式,概念都是一样的。您需要存储要在某处检查的值,以便在需要时存储它。