У меня есть следующий код, чтобы проверить, имеет ли пользователь доступ к приложению или нет. Задача System.Web.HttpContext.Current.User.Identity.Name
возвращает пустой. Я проверил. В чем может быть проблема? В моем другом приложении используется тот же фрагмент кода, и он работает там. Почему это происходит?Почему System.Web.HttpContext.Current.User.Identity.Name возвращает пустую строку?
string username = System.Web.HttpContext.Current.User.Identity.Name;
string str = "SELECT LASTNAME +', '+ FIRSTNAME AS NAME, USER_NAME, DEPARTMENT FROM DBNAME.DBO.TABLENAME WHERE USER_NAME = '" + username + "' ";
SqlCommand cmd = new SqlCommand(str, conn);
SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
if (rdr.HasRows == false)
{
Server.Transfer("unauthorized.htm");
}
else
{
while (rdr.Read())
{
name = rdr["NAME"].ToString();
username = rdr["USER_NAME"].ToString();
dept = rdr["DEPARTMENT"].ToString();
}
}
Является ли этот код взят из приложения ASP.net? –
Выполняют ли оба приложения собственное состояние аутентификации? –
, возможно, стоит дать нам ваш web.config – Aron