Tôi có mã sau đây để xác minh xem người dùng có quyền truy cập vào ứng dụng hay không. Sự cố là System.Web.HttpContext.Current.User.Identity.Name
trả về trống. Tôi đã kiểm tra. Điều gì có thể là vấn đề? Ứng dụng khác của tôi sử dụng cùng một đoạn mã và nó hoạt động ở đó. Tại sao chuyện này đang xảy ra?Tại sao System.Web.HttpContext.Current.User.Identity.Name trả về một chuỗi rỗng?
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();
}
}
Mã này có được lấy từ ứng dụng ASP.net không? –
Cả hai ứng dụng có quản lý trạng thái xác thực của riêng mình không? –
có thể mang lại cho chúng tôi web.config của bạn – Aron