0

我目前正在开发一个使用 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

任何帮助/指导将不胜感激......

4

1 回答 1

0

正如 Shades88 在评论中所说,是一个简单的向下投射问题

于 2013-01-24T10:39:27.430 回答