Я сравниваю переменную сеанса со строкой, чтобы проверить, является ли тип входа администратором или нет.
Код, который я использую:
if (Session["loggedInUsername"] == null)
{
btnLogin.Text = "Sign In";
lblWelcome.Text = "Welcome!";
hypManageRestaurants.Enabled = false;
hypManageReviews.Enabled = false;
hypPostReviews.Enabled = false;
}
else
{
if (Session["loggedInUserType"] == "Administrator")
{
hypManageRestaurants.Enabled = true;
hypManageReviews.Enabled = true;
hypPostReviews.Enabled = true;
}
else
{
hypManageRestaurants.Enabled = false;
hypManageReviews.Enabled = false;
hypPostReviews.Enabled = true;
}
lblWelcome.Text = "Welcome " + Session["loggedInUsername"];
btnLogin.Text = "Sign Out";
}
Итак, сначала я проверяю, вошел ли какой-либо пользователь в систему или нет. Если пользователь входит в систему успешно, переменная сеанса «loggedInUsername» будет иметь значение имени пользователя. Если «loggedInUsername» переменная сеанса не пуста, она проверит переменную сеанса "loggedInUserType" на предмет типа вошедшего в систему пользователя.
Здесь начинается странная вещь, значение "loggedInUserType" точно "Администратор" без "", в функция if, в которой я сравниваю переменную сеанса со строкой «Администратор», пропускается и переходит к другому
Все переменные сеанса получают значения, когда пользователь входит в систему.
Ниже приведены данные, которые я используется для входа в систему, и эта запись является единственной записью, которая имеет тип "Администратор"
Есть ли любой другой метод для сравнения переменной сеанса со строкой