Метод @Secured должен выдавать ошибку, когда ни один пользователь не аутентифицирован - PullRequest
1 голос
/ 29 мая 2009

Код для моей услуги следует ...

@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());
  }

}

my applicationContext.xml

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

но когда я вызываю serviceImpl через gwt-rpc, не должен ли runGwtSprMvcHibJpaDemo выводить ошибку безопасности, поскольку пользователь еще не аутентифицирован? Скорее, метод runGwtSprMvcHibJpaDemo выполняется с выводом

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

Ответы [ 2 ]

1 голос
/ 29 мая 2009

Добавить

<security:http auto-config="true">
        <security:intercept-url pattern="/**" access="ROLE_ADMIN" />
</security:http>

к вашей конфигурации xml и посмотрите, исправит ли это.

0 голосов
/ 03 августа 2010

Определите боб в своем весеннем контексте, например:

bean id = " userDetailsService " класс = "packagename.MyUserService">.

Обратите внимание, что имя бина должно быть точно таким же. Spring использует этот компонент внутри, чтобы запустить этот сервис.

MyUserService является реализацией UserDetailsService.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...