我的配置是:
@Configuration
@EnableWebSecurity(debug = false)
@EnableGlobalMethodSecurity(securedEnabled = true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private SaveNewOidcUserService saveNewOidcUserService;
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.anyRequest().authenticated()
.and()
.logout()
.clearAuthentication(true)
.invalidateHttpSession(true)
.deleteCookies("JSESSIONID")
.logoutUrl("/logout")
.logoutSuccessUrl("/")
.permitAll()
.and()
.oauth2Login()
.userInfoEndpoint()
.oidcUserService(saveNewOidcUserService);
}
}
版本:
spring-security-oauth2-client 5.3.2.RELEASE
spring-boot-starter-security 2.3.0.RELEASE
我通过谷歌登录到我的应用程序,注销我的应用程序后,我在火狐控制台日志中看到有GET到 /login页面,所以如果我仍然登录在谷歌,我的安全应用程序的内容会显示(因为自动登录),但应该要求通过谷歌登录与屏幕选择帐户等。
注销后怎么强制没有自动登录
我加完就解决了
.exceptionHandling()
.defaultAuthenticationEntryPointFor(
customAuthEP(),
new AntPathRequestMatcher("/**")
)
就像这里https://stackoverflow.com/a/15875641/13729723
我正在使用带有java配置和两个HttpSecurity配置的spring-security 3.2.0.rc2。一个用于REST API,一个用于UI。当我发布到/logout时,它重定向到/login?logout,但随后(错误地)重定向到/login。当我成功地输入用户名和密码时,我会被重定向到登录-注销,并且必须再次输入凭据才能进入主页面。因此,似乎login的permitAll不被用于l
当我想要注销时,我调用以下代码: 怎么修?
问题内容: 我正在考虑为我的应用程序使用OAuth2。我尝试实现的体系结构如下: 我将拥有自己的(仅此)授权服务器 一些资源应用程序使用授权服务器验证对资源的访问 某些客户端应用程序(网络,移动设备)会将用户重定向到授权服务器进行身份验证,如果成功,则会在资源应用程序上使用api。 到目前为止,我已经成功实现了3个基本应用程序(1个身份验证服务器,1个资源服务器和1个客户端)之间的交互。我无法正常
null 提前道谢。
我有一个通过Google登录Spring Boot OAuth2的Auth Server实现。以及用于我的后端数据服务的资源服务器。我使用了JDBC令牌库。一切都很好。但我很难理解注销的实现。目前,每当用户单击注销时,我只会从浏览器本地存储中删除令牌,但会话在身份验证服务器中保持活动状态,因此我不需要再次登录。我想要的是,每当单击注销时,我都想使会话无效,并迫使他再次登录。 有什么好的方法可以做到
4.2.4注销处理 logout元素通过导航到特定URL添加了对注销的支持。默认的注销URL是/logout,但是您可以使用logout-url属性将其设置为其他内容。有关其他可用属性的更多信息可以在命名空间附录中找到。 但是,在遵循文档中的安全设置后,URL/logout不会显示注销页面。相反,它显示 Spring Framework 4.1.6 Spring Security 4.0.0 we