-3

我已经为登录用户和管理员创建了一个应用程序每个用户都会有不同的登录名,他们的详细信息分别来自登录页面。怎么样?

    if (user == "Admin")
    {
        Response.Redirect("admin.aspx");
    }
    else if (user == "Employee")
    {
        Response.Redirect("employ.aspx");
    }
4

1 回答 1

1

看起来,对于不同的用户角色,成功登录后的默认屏幕会有所不同。

你可以做的最简单、最整洁和可扩展的事情是为你的RoleMaster表中的每个角色存储一个默认的uri(或者你叫它),即让你的表像这样:

   Id   RoleName    DefaultUri
    1    admin     ~/admin.aspx
    2    general   ~/home.aspx

现在在登录按钮单击方法中执行以下操作:

//User is any entity representing User Table data of yours.
User userObj = BALUser.GetUserByName(txtUserName.Text);
if(Authenticate(userObj)) //perform password comparison or forms authentication 
{
    Response.Redirect(userObj.Role.DefaultUri);
}

Authenticate 就像:

public bool Authenticate(User user)
{
    //in case of forms authentication..
    return Membership.ValidateUser(user.UserName, user.Password);

    //or usual password comparison
    //return user.Password == txtPassword.Text.Trim();
}
于 2013-05-15T09:39:00.313 回答