Trong AS7, bạn có thể sử dụng SecureIdentityLoginModule để thêm tên miền mật khẩu được mã hóa. Ví dụ, bạn có thể định nghĩa một lĩnh vực an ninh trong standalone.xml hoặc domain.xml:
<security-domain name="EncryptedPassword">
<authentication>
<login-module code="SecureIdentity" flag="required">
<module-option name="username" value="test"/>
<module-option name="password" value="encrypted_password"/>
</login-module>
</authentication>
</security-domain>
Sau đó, bạn có thể thêm miền bảo mật này trong nguồn dữ liệu cụ thể của bạn có sử dụng userid/kết hợp pwd này trong standalone.xml hoặc miền .xml:
<datasource ... >
.....
<security>
<security-domain>EncryptedPassword</security-domain>
</security>
</datasource>
để mã hóa mật khẩu riêng của mình, bạn có thể chạy lệnh này (xin vui lòng kiểm tra phiên bản của jar picketbox và jar đăng nhập AS7 tải cụ thể của bạn để thay thế cho phù hợp):
java -cp $JBOSS_HOME/modules/org/picketbox/main/picketbox-4.0.6.<beta|final>.jar:$JBOSS_HOME/modules/org/jboss/logging/main/jboss-logging-3.1.0.<some_version>.jar:$CLASSPATH org.picketbox.datasource.security.SecureIdentityLoginModule password
Thao tác này sẽ trả lại mật khẩu được mã hóa mà bạn có thể sử dụng trong miền bảo mật của mình.
Bạn có thể đọc thêm về hệ thống phụ bảo mật JBoss AS7 here. Vì đá nguồn mở, bạn có thể xem cách mã hóa hoạt động trong mã nguồn của SecureIdentityLogin. Bạn sẽ thấy mã nguồn mà nó sử dụng Blowfish
để mã hóa.
Cũng xem câu trả lời từ shatk, các managedConnectionFactoreName mô-đun-option cần phải được cung cấp. –