在我的Spring Boot应用程序中,我需要实现以下场景:
匿名用户访问以下页面:http://example.com/product-a.html
此用户想询问有关此产品的问题。它可以在另一个页面上完成,地址如下:http://example.com/product-a/ask
。用户按上的
并显示登录/注册弹出窗口。成功登录后,用户应自动重定向到提问
按钮http://example.com/product-a.htmlhttp://example.com/product-a/ask
(但目前使用默认的Spring Security实现)用户正在重定向回页面发起者http://example.com/product-a.html
)
如何正确使用Spring Boot/Spring Security实现/配置这种重定向?
已更新
这是我的web安全配置:
@Override
protected void configure(HttpSecurity http) throws Exception {
// @formatter:off
http.addFilterBefore(new CorsFilter(), ChannelProcessingFilter.class);
http
.csrf().ignoringAntMatchers("/v1.0/**", "/logout")
.and()
.authorizeRequests()
.antMatchers("/oauth/authorize").authenticated()
//Anyone can access the urls
.antMatchers("/images/**").permitAll()
.antMatchers("/signin/**").permitAll()
.antMatchers("/v1.0/**").permitAll()
.antMatchers("/auth/**").permitAll()
.antMatchers("/actuator/health").permitAll()
.antMatchers("/actuator/**").hasAuthority(Permission.READ_ACTUATOR_DATA)
.antMatchers("/login").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.loginProcessingUrl("/login")
.failureUrl("/login?error=true")
.usernameParameter("username")
.passwordParameter("password")
.permitAll()
.and()
.logout()
.logoutUrl("/logout")
.logoutSuccessUrl(logoutSuccessUrl)
.permitAll();
// @formatter:on
}
我使用 OAuth2/JWT Implicit Flow for AngularJS 客户端
我认为你不应该使用Spring的默认 /login处理url,而是在控制器中创建自己的 /mylogin。然后你可以在方法中注入HttpServlet请求,并根据请求的上下文采取行动,例如:
@PostMapping("/mylogin")
public ResponseEntity<> processingLogingURL(HttpServletRequest request){
// switch bases on the request URL after checking security off course
switch(request.getRequestURL()){
//redirect based on the caller URL
}
}
最后更改。loginProduceUrl(“/login”)
到。loginProduceURL(“/mylogin”)
我正在将DNN应用程序从07.00.02升级到07.03.04并在安装后将所有门户重定向到登录页面。所有门户都配置有一个登陆页面,该页面被配置为允许“所有用户”角色视图访问。还有人在升级后遇到过这个问题吗? 2015-02-05 05:45:01 127.0.0.1 GET/-80-127.0.0.1 Mozilla/5.0+(Windows+NT+6.3;+WOW64)+AppleWebKit/
记录器文件中的日志- org.springframework.Security.Access.event.loggerlistener-安全授权失败,原因是:org.springframework.Security.Access.accessdeniedexception:访问被拒绝;通过身份验证的主体:org.springframework.security.authentication.ano
Reducer.js 我想在成功登录后重定向/主页。我如何重定向?
我想限制我的WordPress网站的某些页面登录用户。 为此,我编写了一些代码,将用户重定向到登录页面,并设置我的成员身份插件,然后将他们重定向到最后一个用户页面。问题是,wp_redirect函数不保存URL,所以在登录之后,用户会被重定向到他们之前所在的页面,而不是他们试图访问的页面(受限页面)。 对这个烦人的问题的任何帮助都将非常感激!:)我的代码在下面。
我在Laravel5.2中使用了php artisan函数。 我想重定向的客人登录页面,若客人点击链接,只有用户并没有客人。 我想在登录后将用户重定向到后面的页面。 我怎么能这么做?请详细展示一些文件名示例。 ///////编辑 路线 控制器 Kernel.php
我正在我是身份提供者的地方实施SSO,现在我能够成功登录到服务提供者。但它把我带到了主页。我想在发布响应时指定着陆页URL。搜索了很多,但找不到任何令人信服的东西。不太知道SAML响应的哪个元素携带着陆页URL或采用我必须指定的形式。使用java和opensaml库生成响应。