-3

ログインユーザーと管理者用に1つのアプリケーションを作成しました すべてのユーザーは、ログインページから個別に詳細を含む異なるログインを持ちます。どうですか?

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

1 に答える 1

1

ユーザーの役割が異なると、ログインに成功した後のデフォルト画面が異なるようです。

テーブル内の各ロールのデフォルト uri を保存するためにできる最も簡単で、最もきちんとした、RoleMasterスケーラブルな方法 (または、それを呼び出すたびに)、つまり、テーブルを次のようにします。

   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 に答える