0

私は現在、SpringSecurityを利用するシステムに取り組んでいます。認証プロバイダーを設定していますが、必要なすべての情報を保存するカスタムユーザータイプの作成に問題があります。

認証プロバイダーでは、システム内のユーザーに対するDALである「ユーザーサービス」を呼び出します。次に、「User」オブジェクトを返します。これは問題なく、すべて機能しています。

しかし、必要なすべてのカスタム属性を含むMyCompanyUserDetailsオブジェクトを定義しました。このクラスは「User」クラスを拡張します。

私の問題は、ユーザーを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 に答える