我使用java配置的spring boot,web MVC和spring security.我的网址是"RESTful",并希望添加自定义授权方法.
例如:
.antMatchers("/path/*/**").access("@myBean.authorise()")
Run Code Online (Sandbox Code Playgroud)
我希望实现这样的目标:
.antMatchers("/path/{token}/**").access("@myBean.authorise(token)")
Run Code Online (Sandbox Code Playgroud)
我明白我可以通过HttpServletRequest并手动剥离路径,但我想避免这种情况!也不太热衷于方法级别的安全性,宁愿将配置保存在一个地方,因为我有很多控制器.
谢谢!
我正在尝试将数据从一个数据库复制到另一个数据库.一切正常,直到源数据库中的一行被修改(下面的堆栈跟踪).向目标数据库添加新行按预期工作.
我有一个由以下bean组成的每个数据库连接(mysql和hsqldb)的上下文文件:
<bean id="mysqlDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${mysql.driver}" />
<property name="url" value="${mysql.url}" />
<property name="username" value="${mysql.username}" />
<property name="password" value="${mysql.password}" />
</bean>
<bean id="mysqlTransactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="mysqlEntityManagerFactory" />
<property name="dataSource" ref="mysqlDataSource" />
</bean>
<bean id="mysqlEntityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="mysqlDataSource" />
<property name="jpaVendorAdapter" ref="mysqlVendorAdaptor" />
<property name="packagesToScan" value="my.packages.to.scan"/>
</bean>
<bean id="mysqlEntityManager" class="org.springframework.orm.jpa.support.SharedEntityManagerBean">
<property name="entityManagerFactory" ref="mysqlEntityManagerFactory"/>
</bean>
<bean id="mysqlVendorAdaptor" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" >
<property name="showSql" value="true" />
<property name="generateDdl" value="true" />
<property name="databasePlatform" value="${mysql.dialect}" />
</bean>
Run Code Online (Sandbox Code Playgroud)
在我的@Service我JpaRepository为每个数据库连接创建一个:
@Autowired
private …Run Code Online (Sandbox Code Playgroud)