Hướng dẫn how to check if user is logged in javascript - cách kiểm tra xem người dùng đã đăng nhập javascript chưa

7

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Có cách nào an toàn để kiểm tra xem người dùng đã đăng nhập vào ứng dụng thay vì kiểm tra xem cookie "SID" có tồn tại trong máy của người dùng không?

Tôi muốn cho phép người dùng tiến hành trên một số liên kết nhất định trên một trang chỉ khi họ đã đăng nhập.

Tôi thực hiện xác thực đăng nhập ở phía máy chủ nhưng muốn tránh chuyến đi yêu cầu.

Giải pháp JS hoặc JQuery thuần túy sẽ được đánh giá cao.

Cảm ơn bạn.

hỏi ngày 9 tháng 2 năm 2016 lúc 12:41Feb 9, 2016 at 12:41

Hướng dẫn how to check if user is logged in javascript - cách kiểm tra xem người dùng đã đăng nhập javascript chưa

4

Vui lòng thử điều này

Đặt mã này sau khi người dùng đăng nhập lần đầu

jQuery(window).load(function() {
  sessionStorage.setItem('status','loggedIn') 
});

Khi người dùng nhấp vào liên kết, bạn có thể kiểm tra như

if (sessionStorage.getItem('status') != null))
    //redirect to page
}
else{
    //show validation message
}

Đã trả lời ngày 9 tháng 2 năm 2016 lúc 12:46Feb 9, 2016 at 12:46

Hướng dẫn how to check if user is logged in javascript - cách kiểm tra xem người dùng đã đăng nhập javascript chưa

Rino Rajrino RajRino Raj

6.2062 Huy hiệu vàng25 Huy hiệu bạc39 Huy hiệu Đồng2 gold badges25 silver badges39 bronze badges

1

Như bạn yêu cầu "cách an toàn": Không. Bạn phải luôn xác nhận phiên của người dùng ở phía máy chủ cho tất cả các yêu cầu.

Một cái gì đó bạn có thể làm mặc dù là để điều chỉnh mặt trước với trạng thái hiện tại của người dùng. Ví dụ: thay đổi "Đăng nhập" -Link thành "Đăng xuất" -Link. Để làm việc này, bạn có thể đặt một số King of Flag trên máy người dùng. Bạn có thể sử dụng lưu trữ cục bộ của trình duyệt cho việc này (http://www.w3schools.com/html/html5_webstorage.asp).

Ví dụ, một cái gì đó khác mà bạn có thể làm là, để thay đổi hành vi của các liên kết ví dụ:

$("a").click(function(e){
    if(localStorage.getItem("isLoggedIn") !== true) {
        e.preventDefault();
        // this prevents navigation and you can now do your js stuff here
    }
});

Đã trả lời ngày 9 tháng 2 năm 2016 lúc 12:58Feb 9, 2016 at 12:58

NewbeenewbeenewBee

1.2801 Huy hiệu vàng12 Huy hiệu bạc31 Huy hiệu đồng1 gold badge12 silver badges31 bronze badges

1

Nếu bạn đang sử dụng danh tính ASP.NET, bạn có thể kiểm tra nó như sau

Trong dao cạo:

@inject SignInManager SignInManager

@if (SignInManager.IsSignedIn(User))
        {
            
        }
        else
        {
            
        }

Trong JS:

function check() {
var signed = $('#logged').val();

if (signed === 'true') {
    //What you want to do
}
else {
    window.location.href = "/YourController/YourAction?ReturnUrl=/YourReturnUrl;
}
} 

Đã trả lời ngày 3 tháng 8 năm 2019 lúc 22:17Aug 3, 2019 at 22:17

Nó nên hoạt động 100%

Đặt mã này sau trang đăng nhập người dùng (trang đăng nhập nextPage)

jQuery(window).load(function() {
  sessionStorage.setItem('status','loggedIn') 
 });

Khi người dùng nhấp vào liên kết, bạn có thể kiểm tra bất kỳ trang nào bằng mã dưới (bất kỳ trang nào)

if (sessionStorage.getItem('status') != null){
//redirect to page
alert("Is Login : True");
 }
 else{
  //show validation message
 alert("Is Login : False");
 }

Đã trả lời ngày 29 tháng 10 năm 2018 lúc 10:00Oct 29, 2018 at 10:00

Hướng dẫn how to check if user is logged in javascript - cách kiểm tra xem người dùng đã đăng nhập javascript chưa

Theo ý kiến ​​của tôi, bạn nên lưu vào lưu trữ cục bộ của bạn một authToken với nó hết hạn và sau đó kiểm tra xem nó có hết hạn hay không mỗi khi bạn yêu cầu một cái gì đó (không bao gồm) và cũng xác thực với máy chủ nếu authToken có hết hạn hay không. 2 cách xác nhận.

Khách hàng đến Khách hàng và Khách hàng đến Máy chủ. Cả hai sẽ được khớp chính xác.

Đã trả lời ngày 26 tháng 3 năm 2019 lúc 15:42Mar 26, 2019 at 15:42

Hướng dẫn how to check if user is logged in javascript - cách kiểm tra xem người dùng đã đăng nhập javascript chưa

Giải pháp là lưu trữ thông tin này trên máy chủ dưới dạng biến phiên (sử dụng PHP), sau đó truy xuất thông tin này trong JavaScript bằng AJAX.

Đã trả lời ngày 4 tháng 12 năm 2021 lúc 12:45Dec 4, 2021 at 12:45

Hướng dẫn how to check if user is logged in javascript - cách kiểm tra xem người dùng đã đăng nhập javascript chưa

JorensmjorensmJorensM

1673 Huy hiệu bạc12 Huy hiệu Đồng3 silver badges12 bronze badges

1

Tôi sẽ chia sẻ cách tiếp cận của mình cho phía khách hàng xác thực trong khi giảm số lượng cuộc gọi đến máy chủ. Xác thực với lưu trữ phiên không phải là một cách tiếp cận tốt IMO vì nó không được chia sẻ giữa các tab.

  1. Khi người dùng đăng nhập vào trang web của bạn và gửi yêu cầu đến máy chủ của bạn, hãy tạo mã thông báo JWT với tải trọng dưới dạng ID email của họ và gửi phản hồi Cookie/JSON cho máy khách.

  2. Nếu bạn thích mã thông báo JWT trong phản hồi thì hãy lưu mã thông báo JWT trong lưu trữ cục bộ với một tên duy nhất (ví dụ: myadminaccesstoken) để nó không can thiệp vào các khóa khác trong trình duyệt của họ. Cookie đáp ứng là một cách tiếp cận tốt hơn và mạnh mẽ sau đó lưu trữ mã thông báo JWT

  3. Bây giờ mỗi khi người dùng của bạn thực hiện yêu cầu mạng đến máy chủ của bạn, trước khi thực hiện cuộc gọi mạng (tìm nạp URL) kiểm tra xem mã thông báo có tồn tại trong lưu trữ cục bộ hay không, nếu không thì chúng không được ủy quyền và chuyển hướng chúng để đăng nhập trang. Và nếu nó tồn tại cho phép họ thực hiện cuộc gọi mạng đến máy chủ của bạn.

  4. Phân tích mã thông báo cookie/JWT và xác thực nếu email tồn tại thì điều đó có nghĩa là chúng được ủy quyền gửi một ủy quyền: Đúng để đáp ứng và để chúng lấy tài nguyên yêu cầu từ máy chủ của bạn.

  5. Nếu không có email nào tồn tại hoặc phân tích mã thông báo JWT không thành công, điều đó có nghĩa là chúng không được ủy quyền và họ đã cố gắng bỏ qua kiểm tra xác thực đầu tiên của bạn, trong bước#3.

  6. Trong trường hợp này, hãy gửi một ủy quyền: Phản hồi sai từ máy chủ của bạn và khi nhận được thất bại, khách hàng của bạn nên đăng nhập chúng và chuyển hướng đến trang đăng nhập và cũng xóa truy cập khỏi lưu trữ cục bộ.

Tôi không có mã JS hoặc jQuery thuần túy cho việc này nhưng nếu bạn muốn tôi có thể chia sẻ mã React với bạn giải thích quy trình đã đề cập ở trên.

Tối ưu hóa

Bạn thậm chí có thể tối ưu hóa giải pháp trên cho ứng dụng mạnh mẽ và an toàn hơn.

  • Sử dụng Redis để lưu trữ email người dùng để xác nhận nhanh.
  • Sử dụng thư viện quản lý nhà nước để cung cấp thêm một lớp bảo vệ và làm cho giao diện người dùng của bạn đồng bộ.

Các thư viện lưu trữ địa phương, lưu trữ phiên, quản lý nhà nước không đáng tin cậy để bảo vệ các tuyến/dữ liệu của bạn nhưng chúng có thể được sử dụng để giảm không có cuộc gọi mạng nào đến máy chủ của bạn.

Đã trả lời ngày 12 tháng 6 lúc 14:58Jun 12 at 14:58

Hướng dẫn how to check if user is logged in javascript - cách kiểm tra xem người dùng đã đăng nhập javascript chưa

Làm thế nào để bạn kiểm tra xem người dùng có đăng nhập bằng JavaScript không?

Bạn có thể sử dụng phương thức.use . ajax() method from jQuery to call WebMethod which check if user is logged.

Làm thế nào để bạn kiểm tra xem người dùng có đăng nhập hay không?

Hạn chế người dùng đi đến đăng ký hoặc trang đăng nhập nếu người dùng đã đăng nhập vào Firebase Auth..
var user = firebase.auth ().người dùng hiện tại;.
if (user) {.
// Người dùng được đăng nhập ..
} khác {.
// Không người dùng nào đăng nhập ..

Làm cách nào để kiểm tra xem người dùng WordPress có đăng nhập JavaScript không?

Thật dễ dàng để kiểm tra xem người dùng hiện tại có đăng nhập bằng PHP trong WordPress không.Chỉ cần sử dụng hàm is_user_logged_in ().use is_user_logged_in() function.

Làm thế nào để bạn kiểm tra xem người dùng có đăng nhập PHP không?

session_start (); kiểm tra xem $ _Session ["loggedin"] (không phải) đúng - nếu không, chuyển hướng chúng đến trang đăng nhập.Lưu câu trả lời này. Check if $_SESSION["loggedIn" ] (is not) true - If not, redirect them to the login page. Save this answer.