2010-07-28 40 views
5

Tôi đang lập trình một ứng dụng web với Java EE, JSF và Hibernate. Tôi không sử dụng Spring hoặc EJB! Bây giờ tôi đang ở thời điểm thực hiện xác thực và ủy quyền. Tôi cần truy cập Active Directory hoặc LDAP. Và tôi muốn thực hiện vai trò của riêng mình, không được lấy từ AD/LDAP.Khung xác thực và ủy quyền cho ứng dụng web Java

Câu hỏi của tôi là: cách dễ nhất để thực hiện điều đó là gì? Tôi có nên sử dụng một khung công tác như JAAS/Apache Shiro không? Và cái nào là tốt nhất cho intetions của tôi?

Về khái niệm vai trò nhỏ: Tôi đã lên kế hoạch thiết lập tệp thuộc tính, nơi tôi có thể định cấu hình vai trò. Tôi chỉ có vài vai trò, nên một khái niệm lớn không phải là cần thiết ?!

Tôi rất vui vì bất kỳ đề xuất hoặc đề xuất nào.

Trả lời

14

Nó chắc chắn là không đúng sự thật rằng "Xuân An là đơn linh hoạt nhất auth/auth nhà cung cấp có "- đó chỉ là quảng cáo vô căn cứ.

Apache Shiro có thể xử lý nhiều trường hợp sử dụng hơn Spring Security, nếu chỉ vì SS không hỗ trợ quản lý phiên doanh nghiệp hoặc đã đơn giản hóa mật mã của hộp (Shiro). Shiro cũng hỗ trợ một mô hình bảo mật tốt hơn nhiều so với hộp (ví dụ: WildcardPermission của Shiro). Shiro cũng thực hiện LDAP và Active Directory. Cũng lưu ý rằng Shiro được xây dựng từ ngày đầu tiên với nền tảng kiến ​​trúc để làm việc trong bất kỳ môi trường ứng dụng nào, không chỉ các ứng dụng Spring (nhưng nó cũng xuất sắc trong các ứng dụng Spring). Cũng không thể nói về Spring Security (nó thực sự được xây dựng ban đầu chỉ cho các ứng dụng Spring).

Với số lượng người dùng và/hoặc vai trò nhỏ, bạn có thể dễ dàng thực hiện điều đó trong shiro.ini file. Ví dụ:

[main] 
... 
[users] 
jsmith = password, role1 
ajones = anotherPassword, role1, role2 

[roles] 
role1 = perm1, perm2, ..., permN 
role2 = permA, permB, ..., permZ 

Vào cuối ngày, cả Apache Shiro và Spring Security là những khuôn khổ tuyệt vời - cả hai đều đứng vững về giá trị của riêng họ. sự lựa chọn của bạn nên được dựa trên cái nào phù hợp với mô hình của bạn tinh thần tốt hơn (trong đó giao diện và tên lớp có ý nghĩa hơn? Đó là dễ dàng hơn để bạn có thể hiểu và sử dụng không?)

Chúc mừng,

Les

+1

Giống như tôi đã đề cập rất nhiều: Shiro thực sự dễ dàng nhưng bạn phải tự mình tìm ra trừ khi một số người sẽ viết một số hướng dẫn và tôi không muốn thấy hướng dẫn sử dụng phillips bruce họ khó hiểu hơn là giúp đỡ. Hy vọng ai đó sẽ làm điều này để shiro có thể trở nên phổ biến hơn ... – Sven

2

Cho dù bạn sử dụng thùng chứa mùa xuân cho ứng dụng của bạn hay không (bạn nên :-)), Spring Security là nhà cung cấp auth/auth linh hoạt nhất duy nhất có. Đây là a brief overview of what it can do.

(Bạn có thể sử dụng bảo mật mùa xuân ngay cả khi bạn không sử dụng lò xo cho phần còn lại của ứng dụng của bạn)

+1

Chỉ cần để rõ ràng: Nó có thể xác thực người dùng đối với Active Directory từ một hộp không phải Windows không? –

+1

SpringSecurity thực hiện LDAP. Tôi không biết về Active Directory mặc dù. –

3

tôi đã nghiên cứu một chút và tôi thích Apache Shiro. Vấn đề tôi đã không có hướng dẫn tốt hay howto của ...

Dưới đây là một ví dụ nhỏ như thế nào dễ dàng Shiro hoạt động: link

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