2015-07-24 2 views
0

Im пытается использовать один знак для места как для таблицы администратора, так и для таблицы-члена.Загрузить сеанс из таблицы

Это находится в моей кнопкой мыши на коде позади моей главной странице осины:

if (MemberDB.searchUsername(User.Text) != null) 
    { 
    Member m = MemberDB.Login(User.Text, Password.Text); 
    Session["ULogin"] = m; 
    loginForm2.Visible = true; 
    loginForm.Visible = false; 
    LoginLabel.Text = "You are logged in as " + m.Name; 
    } 
    else if (AdminDB.searchUsername(User.Text) != null) 
    { 
     Admin a = AdminDB.Login(User.Text, Password.Text); 
     Session["ULogin"] = a; 
     loginForm2.Visible = true; 
     loginForm.Visible = false; 
     LoginLabel.Text = "You are logged in as " + m.Name; 
    } 
    else 
    { 
        ErrorLabel.Text = "Error in Login! Click <a href=\"ResetPassword.aspx\">here</a> to reset your password" ; 
    } 

Что я должен положить в загрузке страницы моей главной страницы, чтобы проверить, является ли пользователь администратором или членом?

+2

только предложение, почему снова работать колесо? Используйте реальную структуру членства, затем вы можете назначать роли пользователям. Плюс, я уверен, что это намного безопаснее того, что вы пишете, судя по приведенному выше коду. –

ответ

1

Этот дизайн совсем не подходит. Администратор : пользователь, только тот, кто может сделать больше. Вы должны хранить администраторов в той же таблице, что и неадминистративные.

С помощью этой конструкции вам нужно другое поле, как Session["IsAdmin"] или проверить тип Session["ULogin"]:

if (Session["ULogin"] is Admin) 
{ 
    // ... 
} 
Смежные вопросы