Jcx*_* Jc 13 spring spring-security spring-transactions
所以我有以下内容:
public interface MyService {
@PreAuthorize("hasPermission(T(Name).OBJ, T(Action).GET)")
MyObj getObj(String id);
}
Run Code Online (Sandbox Code Playgroud)
@Service
public class MyServiceImpl implements MyService {
@Override
@Transactional
public MyObj getObj(String id){
return dao.get(id);
}
}
Run Code Online (Sandbox Code Playgroud)
@Controller
public class MyController {
@Resource(name="myServiceImpl")
private MyService service;
public MyObj getObj(String id){
return service.getObj(id);
}
}
Run Code Online (Sandbox Code Playgroud)
getObj(id)调用该方法时,首先将所有内容包装在事务中,然后检查授权.是否可以保留此配置并首先让Spring检查授权,然后在用户获得授权的情况下创建事务?
我花了很多钱寻找答案,找不到任何东西.
Tom*_*icz 16
您可以order在配置时使用属性@Transactional:
<tx:annotation-driven order="100"/>
Run Code Online (Sandbox Code Playgroud)
尝试使用较低的值来在授权之后移动事务方面.看起来<security:global-method-security/>也有此设置.安全方面需要首先执行更高的值(更低的优先级).
| 归档时间: |
|
| 查看次数: |
4289 次 |
| 最近记录: |