原来写的一个东东 是利用asp.net的自定义身份验证实现的,再辅助treeview控件(根据不同的权限生成不同的树接点)。楼主可以在csdn中找一下asp.net身份验证的文章看看

解决方案 »

  1.   

    private void Button1_Click(object sender, System.EventArgs e)
    {
    string username,password;
    int datarows;
    username=txtUsername.Text.Trim();
    password=txtPassword.Text.Trim();
    sqlConnection1.Open();
    sqlDataAdapter1.SelectCommand.Parameters["@UserName"].Value=username;
    datarows=sqlDataAdapter1.Fill(dataSet11,"UserDetails");
    sqlConnection1.Close(); if (datarows==0)
    {
    lblMessage.Text="用户名错误!";
    }
    else
    {
    if(dataSet11.Tables["UserDetails"].Rows[0][2].ToString().Trim()==password)
    {
        string Role;
    Role=dataSet11.Tables["UserDetails"].Rows[0][3].ToString().Trim();
    Session["usrName"]=username;
    Session["usrRole"]=Role;
    if(Role=="Disabled")
    {
        lblMessage.Text="你的账号已过期,请联系系统管理员!";
    return;
    }
    switch(Role)
    {
        case "Admin":
    Response.Redirect(".\\admin\\default.aspx");
    break;
    case "Manager":
    Response.Redirect(".\\Manager\\default.aspx");
    break;
    case "Money":
    Response.Redirect(".\\Money\\default.aspx");
    break;
    case "Technic":
    Response.Redirect(".\\Technic\\default.aspx");
    break;
    case "Stock":
    Response.Redirect(".\\Stock\\default.aspx");
    break;
    } }
    else
    lblMessage.Text="密码错误!";
    }
    }
      

  2.   

    做一个矩阵:  角色 A B C D……
    页面
    P1   可 可 可 可……
    P2   可 否 可 否……
    P3   可 可 否 否……
    ……再做一个公共的函数,在Page_Load中调用,如果返回false,就导向错误页。
      

  3.   

    see
    Role-based Security with Forms Authentication
    http://www.codeproject.com/aspnet/formsroleauth.asp
      

  4.   

    思归所说的很好用,我就是用的这个!athossmth(athos)也很好,很好管理,一目了然!