Tôi là lập trình viên Spring/JavaEE và đang bắt đầu điều tra các nguyên tắc của REST cho các ứng dụng web trong tương lai, nhưng tôi không thể tìm ra cách đăng nhập. Đối với một API Web, nó có ý nghĩa, nhưng những gì về người dùng cuối phải đối mặt với các ứng dụng web? Tôi đã xem xét HTTP Basic/Digest Authentication nhưng chỉ tạo ra một hộp thoại xấu xí. Ai có ý tưởng gì không?Đăng nhập dựa trên mẫu trong khi cũng áp dụng nguyên tắc REST
5
A
Trả lời
2
Điều đó thực sự phụ thuộc vào cách bạn tiếp cận thông tin đăng nhập dựa trên biểu mẫu.
Cách thức được xác định trong thông số J2EE, trang đăng nhập chỉ được hiển thị cho người dùng (chưa được xác thực) khi họ cố gắng truy cập tài nguyên được bảo vệ; nó không (hoặc không nên) có thể truy cập bởi chính nó. Trong trang đăng nhập kịch bản đó không phải được điều chỉnh bởi các nguyên tắc REST vì nó không phải là một "tài nguyên" của chính nó. Nói cách khác, các quy trình làm việc là:
- tài cố gắng để nhận phòng nghỉ ngơi url, '/ products/0.332.425'
- S/anh được chuyển đến '/ đăng nhập', bài thông tin của mình, được chuyển hướng trở lại (như GET) vào trang gốc ('/ products/0332425')
- Các lần thử tiếp theo để truy cập '/ login' bị lỗi (403?) Hoặc chuyển hướng đến "root".
Nếu điều đó không có tác dụng cho bạn và bạn cần phải có biểu mẫu đăng nhập trên nhiều trang, hãy coi nó như một phần của trang và gửi nó như bất kỳ POST nào khác.
Điều đó không thực sự yên tĩnh. RESTful sẽ là xác thực HTTP, nơi bạn gửi tên người dùng và passwort (hoặc một hash) với mỗi yêu cầu. – deamon