ASP.Net: Отображение кнопок только для зарегистрированных пользователей - PullRequest
0 голосов
/ 09 марта 2012

Я хочу показать несколько кнопок пользователям, которые вошли в систему. Я использую не членский аккаунт, а сеанс.

Могу ли я по-прежнему каким-либо образом использовать LoggedInTemplateor, если я сделаю это каким-то другим способом?

Я сохраняю пользователя сеанса следующим образом в событии кнопки OnLogin:

SqlCommand query = new SqlCommand("Select Count(*) FROM Admin Where     username='"+Username.Text+"' AND password='"+Password.Text+"'", conn);

    conn.Open();
    int result = (int)query.ExecuteScalar();
    conn.Close();


    if (result > 0){
        Session["LoggedIn"] = true;
        Session["User"]=Username.Text;
    }
    else Session["LoggedIn"] = false;

Затем я пытаюсь создать кнопку, если пользователь вошел в систему:

if ((bool)Session["LoggedIn"]==true)) Button_dodaj_oglas.Visible = true;
    else Button_dodaj_oglas.Visible = false;

, но я получаю объект неустановить на экземпляр (относительно сеанса).WTF?

Ответы [ 2 ]

1 голос
/ 09 марта 2012

Вы можете использовать Session для сохранения статуса входа, хотя я бы не рекомендовал его, потому что Session не Authentication .

bool loggedIn = Session["LoggedIn"] != null && (bool)Session["LoggedIn"];
Button1.Visible = loggedIn;
1 голос
/ 09 марта 2012
  1. Вы можете сохранить состояние входа в систему в сеансе, а затем переключать отдельные элементы управления / блоки управления, но, опять же, это не очень хороший подход, я думаю (вы можете сослаться на комментарий Тима для этого)отображать панель инструментов или меню через базу данных в соответствии с уровнем роли пользователя, поэтому на уровне разработки не требуется много работы
...