Tôi sử dụng jdbcRealm để bảo mật trong glassfish v3.0.1 b22 của mình. Nó được thiết lập để nó sử dụng bảng USER bên trong cơ sở dữ liệu của tôi để xác thực bằng cách theo dõi blog này: http://blogs.oracle.com/foo/entry/mort_learns_jdbc_realm_authentication. Tôi nhận được nó làm việc tốt, nếu tôi để lại thuật toán tiêu hóa như văn bản thuần túy. Tuy nhiên khi tôi cố gắng sử dụng SHA-256 cho thuật toán tiêu hóa, nó ngừng hoạt động. Những gì tôi đã làm là xác định trong Glassfish - Security - Realm - jdbcRealm - tiêu hóa mà tôi muốn SHA-256 (tôi chỉ cần gõ SHA-256 bên trong lĩnh vực tiêu hóa). Sau đó, tôi đã viết một chương trình Java đơn giản để chuyển đổi văn bản mật khẩu thành mã băm SHA-256. Sau đó tôi dán mã băm đó vào trường mật khẩu của tôi trong cơ sở dữ liệu. Bằng cách này, trường mật khẩu là loại varchar (30). Tôi không thể đăng nhập được nữa. Một điều tôi nhận thấy rằng chương trình Java đơn giản của tôi tạo ra băm khác nhau mỗi lần cho cùng một trường văn bản.Glassfish Security - jdbcRealm: Cách cấu hình đăng nhập với tiêu hóa SHA-256
Dưới đây là chương trình java đơn giản của tôi:
MessageDigest md = MessageDigest.getInstance("SHA-256");
String text = "admin";
md.update(text.getBytes("UTF-8"));
byte[] digest = md.digest();
System.out.println(digest.toString());
Tôi gặp sự cố khi di chuyển từ 4.0 đến 4.1.1 http://stackoverflow.com/questions/40686737/migration-from-glassfish-4-0-to-glassfish-4-1-1-jdbc-realm phát hành – Bikram