我将spring boot security用作restful服务的ACL。安全适配器如下所示
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
@EnableRedisHttpSession
@Order(2)
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
@Autowired
private MyUserDetailsService userDetailsService;
@Bean
public HttpSessionStrategy httpSessionStrategy() {
return new HeaderHttpSessionStrategy();
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.httpBasic()
.and().csrf().disable()
.authorizeRequests()
.anyRequest().authenticated()
.and().userDetailsService(userDetailsService);
}
}
userdetailservice的快照
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
Yuangong yuangong = yuangongService.getYuangongByNo(username).getData();
List<SimpleGrantedAuthority> grantedAuthorities = new ArrayList<SimpleGrantedAuthority>();
grantedAuthorities.add(new SimpleGrantedAuthority("ROLE_ALL"));
return new User(yuangong.getNo(), yuangong.getPassword(), grantedAuthorities);
}
@RestController
@RequestMapping(path = "/bumen")
public class BumenEndpoint {
// @PermitAll
@PreAuthorize("hasRole('ROLE_ALL')")
@RequestMapping(path = "/getBumenTreeList", method = RequestMethod.GET )
public HttpResult<List<Map<String, Object>>> getBumenTreeData(Principal principal) {
System.out.println(principal.getName());
return new HttpResult(bumenService.getBumenTreeList());
}
我不确定是哪个部分导致了重定向。
问题是由注释引起的。我已经根据这个Spring-MVC问题使用@controller on controller实现接口来修复它
问题内容: 我试图将用户重定向到他们单击登录链接的页面。(对于未经身份验证的用户,页面是只读的;对于已登录的用户,页面是可写的。)如何将用户重定向回他们登录后的来源? 我发送到用户登录页面此链接:。登录后,我希望用户将被重定向到页面。但是,它们总是被重定向到页面。 这是我正在使用的配置: 看来并没有像预期的那样得到重视。我正在使用Spring Security 3.1.4 问题答案: 使用以下规则
我试图将用户重定向回他们单击登录链接的页面。(对于未经身份验证的用户,页面是只读的,但对于登录的用户,页面是可写的。)在用户登录后,如何将其重定向回其来源? 我正在向用户发送带有以下链接的登录页面:。登录后,我希望用户被重定向到页面。但是,他们总是被重定向到页面。 这是我正在使用的配置: 似乎没有像预期的那样提取targetUrlParameter。我正在使用Spring Security 3.1
问题内容: 我试图将自定义中间件注入OWIN管道,该中间件包装来自MS 的可用中间件,以便在AngularJS中支持HTML 5模式。我一直在遵循此指南:http : //geekswithblogs.net/shaunxu/archive/2014/06/10/host-angularjs-html5mode-in- asp.net-vnext.aspx 从我可以收集到的信息来看,中间件将请求传
我正在尝试使用Resteasy和Spring构建一个REST服务器/提供程序,并希望使用OAuth 2保护一些API。据我了解,我应该让 API 公开一个 URI 来生成 OAuth 令牌(例如 /oauth/token),然后使用它来访问安全部分。 下面是我使用 Spring Security 及其 OAuth2 支持的代码,我尝试在保护 /ws/v1/oauth/** 的同时公开单个 /oau
在我的Spring Boot应用程序中,我需要实现以下场景: 匿名用户访问以下页面:此用户想询问有关此产品的问题。它可以在另一个页面上完成,地址如下:。用户按并显示登录/注册弹出窗口。成功登录后,用户应自动重定向到(但目前使用默认的Spring Security实现)用户正在重定向回页面发起者) 如何正确使用Spring Boot/Spring Security实现/配置这种重定向? 已更新 这是
我在spring Boot1.2.3 web应用程序中使用spring security 4.0.1(也使用Spring-Session1.0.1,但这与本案无关)。 每当登录的用户会话过期时,Spring就会检测到无效的会话,并将用户重定向到“.invalidsessionURL(”/session/error/invalid“)” 然而,我只想被重定向,如果目标链接在私人区域内,也不是公共区域