Tôi có mã này khi đăng nhập Người dùng, chuỗi sUserData đó được đặt chính xác.Xác thực biểu mẫu không xác thực người dùng đúng cách
Dim sUserData As String = HttpContext.Current.Request.Cookies("UserID").Value & "|" & HttpContext.Current.Request.Cookies("UserName").Value & "|" & HttpContext.Current.Request.Cookies("UserEmail").Value
Dim fat As FormsAuthenticationTicket = New FormsAuthenticationTicket(1, _
HttpContext.Current.Session("UserID"), DateTime.Now, _
DateTime.Now.AddDays(6), True, sUserData, _
FormsAuthentication.FormsCookiePath)
HttpContext.Current.Response.Cookies.Add(New HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(fat)))
Sau đó, tôi có mã nơi tôi kiểm tra xem người dùng nếu đăng nhập vào một phương pháp chung (tĩnh) trong một lớp công cộng như thế này:
If HttpContext.Current.User.Identity.IsAuthenticated Then
EndIf
Và đó chỉ hoạt động tốt, nhưng nếu tôi đặt cùng một dòng trong Page_Load thay vì một phương pháp chung của một lớp nó sẽ không bao giờ đi vào tuyên bố Nếu đây
If HttpContext.Current.User.Identity.IsAuthenticated Then
EndIf
tại sao điều này xảy ra, và có một số cách để tái viết này để làm việc trong số- đằng sau Page_L oad thay vì phải đặt nó trong một lớp, Lớp được sử dụng trong một tiêu đề để cho phép truy cập vào các trang nhất định - vì vậy mà hoạt động tốt. Nhưng tôi cần một cách khác để xác thực người dùng trên trang Mặc định để thay đổi nhãn và nút dựa trên thời tiết người dùng đăng nhập hay không và điều này không thể thực hiện được trong lớp học.
Có lý do cụ thể nào bạn đang tạo cookie đó theo cách thủ công thay vì sử dụng 'FormsAuthentication.SetAuthCookie()' Mã của bạn có thể hoạt động hay không, nhưng .NET sẽ làm điều đó cho bạn. (chỉ là một quan sát). –
vâng, có - nó phải như thế này, đã có 10k cộng với người dùng, và công việc của tôi không phải là thay đổi tất cả nó chỉ làm cho mã của tôi hoạt động với db hiện tại –
Không phải bạn đang cố gắng kiểm tra cờ trong SAME yêu cầu bạn tạo cookie? Thao tác này sẽ không hoạt động vì ngữ cảnh sẽ được đặt bắt đầu từ yêu cầu bên cạnh yêu cầu bạn đặt cookie. –