我目前正在开发一个使用 Spring Security 的系统。我有身份验证提供程序设置,但在创建自定义用户类型时遇到问题,该用户类型将存储我需要的所有信息。
在身份验证提供程序中,我调用“用户服务”,它是系统中用户的 DAL。然后返回一个“用户”对象。这很好,一切正常。
但是我随后定义了一个 MyCompanyUserDetails 对象,其中包含我需要的所有自定义属性。这个类扩展了“用户”类。
我的问题是我无法将用户转换为 CompanyUserDetails。我在这里错过了什么吗?
自定义用户详细信息类型:
public class MyCompanyUserDetails extends User {
在我的身份验证提供程序中:
// Create / Update the user.
User raw_user_details = getUser(username_str, groups_of_user);
// Create our Custom user object filled with the parameters we need for the rest of the system.
MyCompanyUserDetails details = (MyCompanyUserDetails) raw_user_details;
我收到的异常:
java.lang.ClassCastException: User cannot be cast to MyCompanyUserDetails
任何帮助/指导将不胜感激......