2009-05-11 8 views
10

Cấu hình nguồn dữ liệu chuẩn trong JBoss yêu cầu tên người dùng và mật khẩu của người dùng cơ sở dữ liệu nằm trong tệp xxx-ds.xml. Nếu tôi xác định nguồn dữ liệu của tôi là mbean c3p0, tôi gặp phải vấn đề tương tự.Mã hóa thông tin nhạy cảm trong cấu hình JBoss

Có cách nào để người dùng và mật khẩu được mã hóa không? Một nơi tốt để lưu chìa khóa là gì?

Điều này tất nhiên có liên quan đến tomcat quá - file context.xml, các file cấu hình mùa xuân vv

+1

Tôi luôn gặp vấn đề này và không bao giờ tìm được giải pháp tốt. – Owen

Trả lời

6

Có một tài liệu wiki ra có: http://www.jboss.org/community/docs/DOC-9703 mô tả này.

+0

Cảm ơn, tôi sẽ thử. –

+0

Bạn cũng có thể kiểm tra chương hướng dẫn sử dụng dành riêng cho chính xác (đây là hướng dẫn sử dụng v6.0): http://docs.jboss.org/jbosssecurity/docs/6.0/security_guide/html/Encrypting_Data_Source_Passwords.html – Chepech

1

cho phần mùa xuân, bạn có thể sử dụng phần mở rộng của riêng bạn của PropertyPlaceholderConfigurer của mùa xuân với chuỗi convertPropertyValue (String originalValue) ghi đè. Như javadoc cho phương thức đề cập đến nó (thực sự là trong lớp con PropertyResourceConfigurer):

Chuyển đổi giá trị đặc tính đã cho từ nguồn thuộc tính thành giá trị cần áp dụng.

Việc triển khai mặc định chỉ trả về giá trị ban đầu. Có thể được ghi đè trong các lớp con, ví dụ để phát hiện các giá trị được mã hóa và giải mã chúng cho phù hợp.

Điều này có nghĩa là bạn có thể định cấu hình nguồn dữ liệu của mình bằng $ {encoded.value} trong tệp xml mùa xuân và giải mã giá trị trước khi tiêm giá trị được giải mã vào nguồn dữ liệu.

+0

Ý tưởng hay. Cảm ơn –