Я пытаюсь написать собственный чат на websocket + spring security + springBoot.Теперь у меня есть в моем проекте:
Security-context.xml:
...
<intercept-url pattern="/login/**" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
<intercept-url pattern="/resources/**" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
<intercept-url pattern="/**" access="ROLE_USER" />
<form-login/>
</http>
<authentication-manager>
<authentication-provider>
<user-service>
<user name="bob" password="test" authorities="ROLE_USER"/>
<user name="jim" password="test" authorities="ROLE_USER"/>
<user name="a" password="1" authorities="ROLE_USER"/>
...
servlet-context.xml
<context:annotation-config/>
<context:component-scan base-package="wsproblem" use-default-filters="false">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
<mvc:annotation-driven />
<mvc:resources mapping="/resources/**" location="/resources/" />
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/" />
<property name="suffix" value=".jsp" />
</bean>
<websocket:message-broker application-destination-prefix="/app">
<websocket:stomp-endpoint path="/ws">
<websocket:sockjs />
</websocket:stomp-endpoint>
<websocket:simple-broker prefix="/topic, /user" />
</websocket:message-broker>
, у меня есть стандартные web.xml и root-context.xml .
Также у меня есть простой контроллер :
@Controller
@RequestMapping("/")
public class HomeController {
@Autowired private SimpMessagingTemplate simpMessagingTemplate;
@RequestMapping(method = RequestMethod.GET)
public String home() {
return "home";
}
@MessageMapping("/greeting")
public void greeting(Principal principal) {
String reply = "hello " + principal.getName();
System.out.println("sending " + reply);
simpMessagingTemplate.convertAndSendToUser(principal.getName(), "/reply", reply);
}
И мой вопрос :
Как переписать этот код (например, как выполнить миграцию) из xml в аннотированные файлы классов Java, такие как WebSecurityConfig extends AbstractSecurityWebSocketMessageBrokerConfigurer