我知道如果事件监听器没有从未使用的 DOM 元素中删除,它们可能会导致内存泄漏。我的问题是,这也适用于 window 对象吗?我有一个用于“存储”事件的事件监听器,只要选项卡打开,我就需要它绑定。当窗口(选项卡)关闭时,浏览器是否清除事件侦听器,或者是否存在内存泄漏风险?
我在尝试从浏览器中获取来自oauth/token的令牌时遇到问题.我有一个带有Spring Security和Spring Security oauth的Spring Boot应用程序,我正在尝试从另一个端口的javascript SPA进行身份验证.
当在后端禁用CORS时,我可以使用Postman或终端从oauth端点获取令牌没问题,但是由于CORS预检失败,我无法从javascript获取它们.
如果我启用CORS,预检成功,但现在我得到一个InsufficientAuthenticationException说法"没有客户端身份验证.尝试添加适当的身份验证过滤器".从我可以收集的内容来看,这是因为Spring Security无法从请求中获取主体.
有没有人有关于如何处理这个问题的建议?
我正在尝试将vaadin 10与spring security(使用vaadin提供的spring项目库)集成,我对它们如何完全交互感到困惑.如果我转到受保护的URL(在此示例中,"/ about")直接在浏览器中键入,则会显示登录页面.如果我通过单击UI中的链接转到相同的URL,即使我未经过身份验证,该页面也会显示.所以我猜Vaadin没有通过Spring Security的过滤器链,但是我如何在UI中保护我的资源,以及如何在vaadin和spring之间共享经过身份验证的用户呢?我应该两次实施安全措施吗?可用的文档似乎没有涵盖这一点,互联网上的每个链接都有Vaadin 7-8的例子,我从未使用过,并且似乎与10+不同.
有没有人知道关于这个的任何资源,或者你能告诉我所有这些如何一起工作所以我可以知道我在做什么?
这是我的安全配置:
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
private static final String[] ALLOWED_GET_URLS = {
"/",
//"/about",
"/login/**",
"/frontend/**",
"/VAADIN/**",
"/favicon.ico"
};
private static final String[] ALLOWED_POST_URLS = {
"/"
};
//@formatter:off
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.csrf()
.disable()
.authorizeRequests()
.mvcMatchers(HttpMethod.GET, ALLOWED_GET_URLS)
.permitAll()
.mvcMatchers(HttpMethod.POST, ALLOWED_POST_URLS)
.permitAll()
.anyRequest()
.fullyAuthenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.logoutSuccessUrl("/")
.permitAll();
}
//@formatter:on
}
Run Code Online (Sandbox Code Playgroud)