正如标题所暗示的那样。
Bellow是我的Spring Security配置:
@Configuration
@EnableGlobalMethodSecurity(proxyTargetClass = true, prePostEnabled = true)
@EnableWebMvcSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private AbstractAuthenticationProcessingFilter userPassAuthFilter;
@Override
protected void configure(HttpSecurity http) throws Exception {
http.
authorizeRequests()
.anyRequest().authenticated()
.and()
.csrf().disable();
http.addFilterBefore(userPassAuthFilter, BasicAuthenticationFilter.class)
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
}
}
和我的控制器:
@RestController
@Transactional
public class RoleController {
@Autowired
private UserBusinessService userBusinessService
@RequestMapping(value = "/api/list_users", method = RequestMethod.GET)
@PreAuthorize("hasRole('N123ORMAL_ROLE1')")
public Iterable listUsers() {
return userBusinessService.getAllUsers();
}
}
有了这一点,当尝试使用没有指定角色的用户访问/api/list_users时,它可以毫无问题地获得它。即使是原木也是完美的,没有注意到任何东西。当移动@preauthorize
在UserBusinessService
atgetallusers()
中时,它的工作与预期一样:在日志中抛出错误并返回拒绝访问。
有人能帮我让@preauthorize
批注对@controller
和对@service
一样工作吗?
我在@Transactional和@PostFilter中遇到了类似的问题。问题是aop建议排序问题。
这个问题在这方面帮助了我:Spring@事务性和Spring Security@预授权的顺序
我希望这有助于解决你的问题。
本文向大家介绍如何在controller中注入service?相关面试题,主要包含被问及如何在controller中注入service?时的应答技巧和注意事项,需要的朋友参考一下 在config services方法中配置这个service。 在controller的构造函数中,添加这个依赖注入。
我正在使用osgi和基于spring注释的配置。(使用virgo部署应用程序) @preauthorize方法impl上的注释不起作用。 尽管用户没有该角色,但它仍允许用户访问它。 如果我在接口上放置相同的注释,它会为所有用户抛出AccessDenied异常。例外情况: 这是我的配置: 我使用的是spring-security 3.0.4.Release
请看下面我的命令输出: 从输出来看,JAVA_HOME已经设置为/usr/local/jdk-10.0.1,但是我为什么要使用这个命令: 我总是这样得到输出: 如何解决这个问题?
我是一个新的探索Spring启动和冬眠,并面临一个问题,我认为这并不是新的。然而,在所有的建议都到位的情况下,我仍然找不到一个方法来解决我目前面临的问题。 你们谁能指出我错在哪里吗? 以下是场景- 我有一个Category类,并且Category类的每个实例可以有许多子Category的实例。 我已经使用@OneTomany注释设置了关系。然而,当试图将记录保存到数据库时,我面临的是org.hib
是否有任何方法可以重用UserController方法,只需添加不同的安全性预授权,而无需为管理员重写这些方法?
问题内容: 有没有办法在Eclipse中生成Javadoc注释?如果是这样,那是什么? 问题答案: 对我来说,还是- - (或- - 在Mac)的方法效果最好。 我不喜欢看到源代码中的Javadoc注释已自动生成并且尚未更新为真实内容。就我而言,此类javadocs仅仅是浪费屏幕空间。 IMO,最好在您填充细节时一一生成Javadoc注释框架。