<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright 2002-2021 the original author or authors.
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~      https://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<b:beans xmlns:b="http://www.springframework.org/schema/beans"
		 xmlns:aop="http://www.springframework.org/schema/aop"
		 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		 xmlns="http://www.springframework.org/schema/security"
		 xsi:schemaLocation="http://www.springframework.org/schema/security https://www.springframework.org/schema/security/spring-security.xsd
		http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/aop https://www.springframework.org/schema/aop/spring-aop.xsd">

	<method-security/>

	<b:bean id="pattern" class="org.springframework.aop.support.JdkRegexpMethodPointcut">
		<b:property name="pattern" value=".*MethodSecurityServiceImpl.*securedUser"/>
	</b:bean>

	<b:bean id="rule" class="org.springframework.security.config.method.MethodSecurityBeanDefinitionParserTests.MyAdvice"/>

	<aop:config>
		<aop:advisor pointcut-ref="pattern" advice-ref="rule" order="#{T(org.springframework.security.authorization.method.AuthorizationInterceptorsOrder).POST_FILTER.getOrder() + 1}"/>
	</aop:config>

	<b:bean id="methodSecurityService" class="org.springframework.security.config.annotation.method.configuration.MethodSecurityServiceImpl"/>

</b:beans>
