2012-04-26 28 views
10

Lợi ích nào có bằng cách truy cập Apache Shiro và để lại API gốc của Java EE để quản lý phiên và bảo mật?API gốc Apache Shiro và Java EE

Tôi thấy rằng tất cả các vai trò bảo mật và phiên có thể được thực hiện trong Apache Shiro nhưng điều tương tự cũng có thể được thực hiện bằng cách sử dụng bảo mật Java EE mà không có bất kỳ lọ phụ thuộc bên ngoài nào.

Vì vậy, hãy đề xuất cho tôi một số ưu và nhược điểm khi truy cập Apache Shiro.

+0

Hãy thể bất kỳ một sự giúp đỡ tôi không thể đánh giá ....... – satheesh

Trả lời

15

tôi thiên vị tất nhiên (tôi một người có duyên dự án Apache Shiro), do đó thực hiện việc này như bạn thấy phù hợp, nhưng đây là ý kiến ​​của tôi:

  • Java EE an ninh không hỗ trợ chứa tùy chọn phân nhóm phiên độc lập ra khỏi hộp (Shiro).

  • Shiro được thiết kế từ khi thành lập để hoạt động trong môi trường POJO/Dependency Injection. Nó sử dụng thiết kế hướng giao diện và cung cấp nhiều móc để tùy biến hơn các môi trường bảo mật Java EE truyền thống (ví dụ: làm cách nào để hiển thị số lượng người dùng hiện đang đăng nhập vào trang web của bạn với bảo mật Java EE? Shiro có thể giúp bạn hiển thị điều này).

  • Shiro hoàn toàn di động trên mọi môi trường ứng dụng. Nếu bạn sử dụng các tùy chỉnh bảo mật dành riêng cho nhà cung cấp Java EE, chúng sẽ không thể di chuyển được (ví dụ: StackOverflow question cho thấy việc chuyển sang JBoss có thể giải quyết vấn đề bảo mật của người dùng - một câu trả lời đáng lo ngại IMO).

  • Trong bối cảnh tương tự như các tùy chỉnh máy chủ cụ thể, nhiều bảo mật Java EE tutorials, articlesblog articles cho bạn dựa cấu hình giao diện người dùng, trong đó đề cập đến những thứ theo những cách khác nhau trên nền tảng và có thể bực bội phải học lại nếu bạn công tắc điện. Ngoài ra, cấu hình Java EE thường yêu cầu XML. Tôi thích một định dạng cấu hình văn bản đơn lẻ, không chi tiết mà tôi có thể sử dụng ở mọi nơi (shiro.ini rất đẹp, nhưng mọi người cũng định cấu hình shiro bằng groovy, yaml, v.v.).

  • Shiro được thiết kế để hoạt động ở mọi môi trường ứng dụng. Bảo mật Java EE được thiết kế, tốt - chỉ dành cho Java EE. Ít nhất khi bạn học Shiro, bạn có thể tận dụng kiến ​​thức đó trong bất kỳ ứng dụng dựa trên JVM nào (Spring, Guice, Java EE, dòng lệnh, v.v.), không chỉ các ứng dụng Java EE.

HTH!

Les

+0

Cám ơn lời giải thích của bạn trên apache shiro.Can tôi nhận được một số giải thích thêm về việc sử dụng shiro trong môi trường tiêm POJO – satheesh

+2

> 'câu hỏi StackOverflow này cho thấy rằng việc chuyển sang JBoss có thể giải quyết vấn đề bảo mật của người dùng - một câu trả lời đáng lo ngại IMO' - Tôi đã đưa ra câu trả lời đó và tôi đồng ý rằng nó đáng lo ngại. Tôi đã tạo vấn đề http://java.net/jira/browse/JAVAEE_SPEC-20 để yêu cầu chuẩn hóa về khía cạnh cụ thể của cấu hình bảo mật này. –

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