Có cách nào để đặt List<GrantedAuthority>
trong đối tượng Authentication/UserDetailsImpl không? Trong ứng dụng của tôi, tôi có hai lớp bảo mật, một lớp để đăng nhập (sử dụng trình xác thực đăng nhập tùy chỉnh của tôi, trong lớp tôi đặt đối tượng Authentication
sử dụng UsernamePasswordAuthenticationToken
) và một cho "câu hỏi thách thức" nơi người dùng được nhắc trả lời một câu hỏi cụ thể.Bảo mật mùa xuân: Đặt GrantedAuthorities
Điều tôi muốn làm là thêm GrantedAuthority
vào List<GrantedAuthority>
hiện tại, được tạo trong quá trình đăng nhập, sau khi người dùng trả lời câu hỏi thách thức.
Điều này có khả thi không?
Một điều cần làm rõ về vấn đề này là những gì lớp thực hiện UserDetails là. Spring không cung cấp lớp gọi là UserDetailsImpl. JdbcDaoImpl tạo ra một cá thể của lớp User, trong khi phiên bản LDAP tạo ra một cá thể của LdapUserDetailsImpl. Vì vậy, nó thực sự phụ thuộc nhiều vào loại đối tượng bạn đang nhận được trở lại cho dù bạn có thể thay đổi chính quyền. Tôi chưa bao giờ thực sự sử dụng một trong những triển khai UserDetails do Spring cung cấp một cách chính xác vì những thứ như các bộ bất biến cho các cơ quan có thẩm quyền, đó là một thứ có thể thay đổi. –