2010-08-05 38 views
6

Cách nào là phương pháp/phương pháp tốt nhất để thực hiện bảo mật trong Java EE? (JPA/JSPs)Bảo mật Java EE - Phương pháp nào để sử dụng?

Tôi đang làm việc trên một dự án cá nhân để tôi có thể học Java EE và tôi hơi bối rối về cách tiếp cận quy trình ỦY QUYỀN VÀ ỦY QUYỀN trên trang web của tôi.

Tôi có các vai trò khác nhau và tôi không muốn một số người dùng nhất định truy cập một số phần nhất định của trang web. Vì vậy, tôi đã được tìm kiếm tài liệu và hướng dẫn và vv, nhưng tất cả mọi thứ tôi tìm thấy ngày đến hơn 3-4 năm trước đây. Có điều gì gần đây hơn mà tôi nên xem xét?

Dưới đây là một số trong những điều tôi tìm thấy:

http://www.oracle.com/technetwork/developer-tools/jdev/oc4j-jaas-login-module-083975.html

Bất kỳ trợ giúp sẽ được đánh giá cao !!! :)

Trả lời

1

Tôi đã làm việc trên một ứng dụng Java EE gần đây với JAAS. Nó khá hiện tại, bạn có thể kiểm tra nó là home page at Oracle.

Nó hoạt động với vai trò, thẩm định, vv

Bạn có thể sử dụng nó trong JBossGlassfish, có lẽ phần còn lại của ass quá.

+0

Chỉ cần tự hỏi, tại sao mọi người nghĩ rằng JAAS có thể được sử dụng trực tiếp trong Java EE mà không đề cập đến JASPIC? Xem http://java.sys-con.com/node/1002315 –

1

Một cái gì đó gần đây hơn JAAS là khung Spring Security. Nó hỗ trợ JSR-350 (EJB 3) và do đó sẽ hoạt động tốt trong Java EE.

+0

Tôi đang khám phá Xuân và nó không bao giờ ngừng làm tôi ngạc nhiên. Ok, bây giờ tôi phải đọc về Spring Security ... –

3

Spring Security. Mặc dù nó có thương hiệu là Mùa xuân, you might find it useful for web applications; lưu ý rằng bạn không cần phải viết một ứng dụng Spring để sử dụng Spring Security.

Nếu bạn muốn gắn bó với JAAS, tôi khuyên bạn nên sử dụng một trong các mô-đun đăng nhập của vùng chứa, chỉ để bắt đầu, trước khi bạn cố gắng viết mô-đun đăng nhập của riêng mình. Hãy cảnh giác rằng bạn có thể sẽ viết một, nếu container cung cấp các mô-đun không đáp ứng yêu cầu của bạn. Và, có một số book on JAAS tốt để giúp bạn hiểu chi tiết. Ngoài ra, hãy xem Servlet spec 3.0, để xem cách chú thích có thể được sử dụng khai báo vai trò (@DeclareRoles, có trong servlet spec 2.5) trong servlet, trước khi xác định vai trò nào có quyền truy cập vào phương thức HTTP nào (sử dụng @RolesAllowed). Bạn cũng có thể sử dụng các chú thích như @DenyAll và @PermitAll, để cho phép hoặc cấm truy cập cho tất cả người dùng. @TransportProtected sẽ đảm bảo rằng phương thức HTTP được truy cập qua HTTPS. Tất cả những gì cần làm là lập bản đồ các vai trò này trong mã nguồn, với vai trò thực tế trong lĩnh vực JAAS; điều này thường được thực hiện bằng cách sử dụng tệp mô tả bộ chứa cụ thể.

PHỤ LỤC

Vì bạn đang sử dụng JSP và không Facelets hoặc bất kỳ công nghệ khác cho lớp trình bày, bạn có thể quan tâm trong JSP tags offered by Spring Security. Nó sạch hơn nhiều để duy trì tất cả các siêu dữ liệu ủy quyền trong một tệp web.xml humongous.

Theo như các JPA được quan tâm, tốt, quyền truy cập cơ bản vào chúng thường được thực thi tại các servlet hoặc EJB. Tất nhiên, bạn có thể xây dựng bảo mật có lập trình hơn, dựa trên nhu cầu của bạn - bằng cách sử dụng trình lắng nghe thực thể sẽ giúp trong quá trình này vì bạn có thể chặn các hoạt động tải, cập nhật và tồn tại (nếu bạn là cụ thể, nhưng đối với hầu hết các tòa nhà) bảo mật trước khi logic nghiệp vụ của bạn được thực hiện thường là đủ).

Và oh, hãy xem JBoss Seam (và bảo mật Seam), vì nó là một khung phát triển ứng dụng hoàn chỉnh được xây dựng trên Java EE.

+0

Cám ơn tất cả các bạn !!! Tôi chắc chắn sẽ kiểm tra tất cả ... :) – Johan

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