ログインユーザーと管理者用に1つのアプリケーションを作成しました すべてのユーザーは、ログインページから個別に詳細を含む異なるログインを持ちます。どうですか?
if (user == "Admin")
{
Response.Redirect("admin.aspx");
}
else if (user == "Employee")
{
Response.Redirect("employ.aspx");
}
ユーザーの役割が異なると、ログインに成功した後のデフォルト画面が異なるようです。
テーブル内の各ロールのデフォルト 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();
}