2009-03-28 19 views
8

Tôi nhầm lẫn về xác thực với BlazeDS. Hầu hết một vài ví dụ tôi đã tìm thấy để xác thực và ủy quyền trong BlazeDS và do đó Java Servlets nói chung sử dụng xác thực cơ bản HTTP và tiêu hóa và các cõi để ủy quyền. Những ví dụ này rất đơn giản và liên quan đến tệp XML với thông tin xác thực người dùng thay vì sử dụng cơ sở dữ liệu. Kinh nghiệm trong quá khứ của tôi trong các ứng dụng web sử dụng hình thức đăng nhập dựa trên và phiên để xác thực và ủy quyền, nhưng tôi không chắc chắn làm thế nào để làm điều này với các ứng dụng Flex với BlazeDS backends.Xác thực BlazeDS

Điều tôi muốn làm là có một số cách để truy cập một số dịch vụ trên chương trình phụ trợ để xử lý xác thực như biểu mẫu HTML và một số cách để lưu trữ dữ liệu phiên trong cookie để ủy quyền, nhưng tôi gặp khó khăn khi tìm chi tiết có liên quan bằng cookie trong các ứng dụng BlazeDS và Flex.

Nếu xác thực HTTP bằng xác thực cơ bản hoặc phân tích là cách tốt nhất, thì có tài nguyên nào để tìm hiểu cách xác thực người dùng bằng thông tin đăng nhập được lưu trữ trong cơ sở dữ liệu thay vì tệp XML không?

Tôi không đặc biệt quan tâm đến các khung công tác web vì tôi muốn hiểu cách xác thực/ủy quyền người dùng bằng Servlet và BlazeDS đơn giản.

Trả lời

7

Xác thực bằng BlazeDS và Flex không khác gì so với các ứng dụng web truyền thống. Flex sử dụng cùng một ngăn xếp mạng như trình duyệt. Vì vậy, chỉ cần làm theo hướng dẫn để bảo vệ máy chủ ứng dụng của bạn và sau đó nó sẽ chỉ hoạt động. Nếu bạn muốn có mẫu đăng nhập trong Flex thì bạn chỉ có thể gửi thông tin đăng nhập tới j_security_check (cho biểu mẫu dựa trên auth). Hoặc bạn có thể gọi đăng nhập trên channelSet. Spring Security và Spring BlazeDS Integration M2 làm cho việc này trở nên rất dễ dàng. Kiểm tra các Test Drive cho một mẫu tuyệt vời (tên người dùng và mật khẩu vẫn còn trong một tệp XML nhưng bạn có thể dễ dàng theo tài liệu Spring để di chuyển chúng vào cơ sở dữ liệu hoặc máy chủ LDAP).

+0

Trong Drive thử nghiệm, có vẻ như channelSet được đặt lại về mỗi lần làm mới trình duyệt. Nếu bạn đã xác thực và làm mới trang và kiểm tra channelSet.authenticated, nó nói sai, nhưng cuộc gọi remoteObject của bạn sẽ vẫn hoạt động. Có vẻ như bạn vẫn được xác thực vào Mùa xuân, nhưng Flex không biết về điều đó. Tôi muốn tìm một cách để đăng nhập bằng cách sử dụng bảo mật mùa xuân và có nó mang theo để Flex, JSPs, bất cứ điều gì (như SSO). Tôi muốn có thể kiểm tra từ Flex để xem nếu bạn đã được xác thực với Spring (không phải là gọi một phương pháp hack và nhìn thấy nếu bạn bị từ chối truy cập). –

+0

@ I-Never-Finish-Anythi một giải pháp phía máy khách khác là giữ thông tin này trong một đối tượng dùng chung Flash. Lưu trữ một số loại mã thông báo và dấu thời gian và nếu thực hiện xác thực hợp lệ với mã thông báo đó. Gọi một phương pháp hack có vẻ là một giải pháp sạch hơn đối với tôi. –

1

Sử dụng bảo mật mùa xuân và kiểm tra trang web này link text. Tôi mong nó sẽ có ích.

Các vấn đề liên quan