tôi khuyên bạn nên dùng một cái nhìn tại Apache Shiro: http://shiro.apache.org/
Nó xử lý các phần an ninh của ứng dụng của bạn và cung cấp cho bạn rất nhiều sự linh hoạt trong cách bảo vệ mọi thứ. Ví dụ: bạn có thể thêm chú thích để bảo mật các phương thức riêng lẻ (ví dụ: bạn không thể chạy phương thức này trừ khi bạn là quản trị viên), các trang riêng lẻ (ví dụ: bạn không thể tải trang này trừ khi bạn là quản trị viên), và mẫu URL (bạn phải là quản trị viên để truy cập mọi thứ chứa/admin/* trong url).
Làm thế nào phức tạp nó có thể được làm để bảo mật đúng, Shiro là rất đơn giản để sử dụng. Nó có thể mất một chút để có được đầu của bạn xung quanh một số khái niệm ban đầu, nhưng Shiro làm một công việc rất tốt để che giấu càng nhiều sự phức tạp càng tốt. Ngoài ra danh sách người dùng rất nhạy và cực kỳ hữu ích.
Nếu bạn sử dụng Tapestry, bạn có thể xem http://tynamo.org/tapestry-security+guide Nó làm cho nó rất dễ dàng để có được Shiro và chạy trong một ứng dụng Tapestry và cung cấp cho bạn một số dễ sử dụng thẻ để sử dụng trong các mẫu của bạn.
Shiro sẽ không cung cấp cho bạn tích hợp OpenID, OAuth hoặc Facebook trong hộp, nhưng rất có thể bạn sẽ cần phải tùy chỉnh phần đó cho ứng dụng của mình. Tôi tin rằng có một số công việc đang được thực hiện để giúp tích hợp các chức năng sẽ giúp cho phép các loại xác thực này trong khung công tác.
Một số khung công tác xây dựng trên Shiro có thể cung cấp nhiều hơn những gì bạn đang tìm kiếm. Ví dụ: http://tynamo.org/tynamo-federatedaccounts+guide sẽ cung cấp cho bạn thêm hỗ trợ cho các đăng nhập được liên kết trong ứng dụng tấm thảm. Nó vẫn còn trong giai đoạn đầu, nhưng có thể đang làm việc nếu bạn đang sử dụng Tapestry. Ngay cả khi nó không làm chính xác những gì bạn cần, nó có thể cung cấp một số ví dụ tốt để xem xét.
Bạn cũng có thể quan tâm: http://static.springsource.org/spring-security/site/
Như một mặt lưu ý: Ngoài việc an ninh ở đó có lẽ là một loạt các công nghệ khác mà bạn sẽ cần trong một dự án web điển hình. Bạn có thể cần bảo mật, kiên trì, quản lý người dùng cơ bản, v.v. Nếu bạn tạo nhiều ứng dụng web, có thể tạo ra một nguyên mẫu maven cho phép bạn nhanh chóng có được một ứng dụng cơ bản mới và chạy để bạn có thể bắt đầu viết mã với tất cả cấu trúc ban đầu đã sẵn sàng. AppFuse cố gắng làm điều này, nhưng nó nhắm đến việc cho phép bạn có nhiều lựa chọn khác nhau khi nói đến các khung công tác web. Nếu bạn biết bạn sẽ sử dụng công nghệ gì, có một ứng dụng khởi động được tùy chỉnh cho nhu cầu của bạn có thể là một công cụ tiết kiệm thời gian rất lớn.