小编Kar*_*ran的帖子

Spring Security - 自动装配不工作

这是我正在做的一个实践项目,学习 Spring Security 和 OAuth2。

链接到项目的 zip - https://drive.google.com/open?id=0BxsYBg5XwboXdkpUdkhXWUd1Vmc

一旦我添加了以下类,我的自动装配服务就会失败:( 它给出了 NullPointerException。

@Configuration
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class MethodSecurityConfig extends GlobalMethodSecurityConfiguration {
    @Override
    protected MethodSecurityExpressionHandler createExpressionHandler() {
        return new OAuth2MethodSecurityExpressionHandler();
    }
}
Run Code Online (Sandbox Code Playgroud)

userService在下面的休息控制器中得到 NullPointerException 。

@RestController
@RequestMapping("/api/user")
public class UserCtrl {

@Autowired
@Qualifier("userService")
UserService userService;

@PreAuthorize("#oauth2.hasScope('write')")
@RequestMapping(method=RequestMethod.POST,consumes="application/json")
private @ResponseBody ResponseMessage registerUser(@RequestBody User user){
    user.setUser_id(-1);
    return userService.createUser(user);
}

@PreAuthorize("#oauth2.hasScope('none')")
@RequestMapping(method=RequestMethod.GET)
private @ResponseBody ResponseMessage loginUser(){

    CustomUserDetails temp =  (CustomUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
    System.out.println(temp.getUsername() + " logged in");

    ResponseMessage message = userService.getUserByUsername(temp.getUsername());

    if(message.getCode() …
Run Code Online (Sandbox Code Playgroud)

java security spring hibernate oauth2

2
推荐指数
1
解决办法
2187
查看次数

标签 统计

hibernate ×1

java ×1

oauth2 ×1

security ×1

spring ×1