当前位置:  开发笔记 > 程序员 > 正文

使用带有keycloak的spring安全注释

如何解决《使用带有keycloak的spring安全注释》经验,为你挑选了0个好方法。

我只是一个Spring Security的初学者,但我想知道的是有可能的方式,我可以使用配置keycloak @PreAuthorize,@PostAuthorize,@Secured和其他注释.例如,我keycloak-spring-security-adapter在我的简单Spring Rest webapp中配置了Spring Security,以便我可以访问控制器中的Principal对象,如下所示:

@RestController
public class TMSRestController {

     @RequestMapping("/greeting")
     public Greeting greeting(Principal principal, @RequestParam(value="name") String name) {
        return new Greeting(String.format(template, name));
     }
...
}

但是当我尝试这个时(只是一个例子,实际上我想在授权之前执行自定义EL表达式):

@RestController
public class TMSRestController {

    @RequestMapping("/greeting")
    @PreAuthorize("hasRole('ADMIN')")
    public Greeting greeting(Principal principal, @RequestParam(value="name") String name) {
        return new Greeting(String.format(template, name));
    }
...
}

我得到例外:

org.springframework.security.authentication.AuthenticationCredentialsNotFoundException:在SecurityContext中找不到Authentication对象

在我的spring安全配置中,我启用了全局方法安全性:

我需要做什么才能使这个弹簧安全注释工作?是否可以在此上下文中使用此注释?

推荐阅读
mobiledu2402851373
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有