1

私のサービスのコードは次のとおりです...

@Controller
@GwtRpcEndPoint
public class ServerServiceImpl implements ServerService {

  @org.springframework.security.annotation.Secured("ROLE_ADMIN")
  public String runGwtSprMvcHibJpaDemo(String s) {


        System.out.println("SecurityContextHolder.getContext()="+SecurityContextHolder.getContext());
        System.out.println("SecurityContextHolder.getContext().getAuthentication()="+SecurityContextHolder.getContext().getAuthentication());
  }

}

私のapplicationContext.xml

<security:global-method-security secured-annotations="enabled" jsr250-annotations="disabled" />

しかし、gwt-rpc を介して serviceImpl を呼び出すと、ユーザーがまだ認証されていないため、runGwtSprMvcHibJpaDemo はセキュリティ エラーを出力するはずではありませんか? むしろ、メソッド runGwtSprMvcHibJpaDemo が出力とともに実行されます。

 SecurityContextHolder.getContext()=org.springframework.security.context.SecurityContextImpl@ffffffff: Null authentication  SecurityContextHolder.getContext().getAuthentication()=null
4

2 に答える 2

0

次のように、Spring コンテキストで Bean を定義します。

bean id=" userDetailsS​​ervice " class="packagename.MyUserService">.

Bean 名はまったく同じである必要があることに注意してください。Spring は、この Bean を内部で使用して、このサービスを開始します。

MyUserService は UserDetailsS​​ervice の実装です。

于 2010-08-03T07:47:08.333 に答える