小编oli*_*mir的帖子

没有Spring安全性记住我以编程方式登录时创建的cookie

注册(注册)后,我通过Spring Security以编程方式登录我的用户:

public register(HttpServletRequest request, String user, String password) {
    ...
    request.login(user, password);
}
Run Code Online (Sandbox Code Playgroud)

这工作正常,但它不会创建记住我的cookie(尽管使用交互式登录可以很好地创建cookie).

现在我已经阅读了这个这个答案,你必须连接RememberMeServices(我使用PersistentTokenBasedRememberMeServices)的实现,然后调用onLoginSuccess.我没有成功自动装配PersistentTokenBasedRememberMeServices.

如何使这项工作?这是正确的方法吗?为什么Spring Security不提供更方便的方式?


PS:这是我配置的摘录:

@Configuration
@EnableWebSecurity
public class WebSecConf extends WebSecurityConfigurerAdapter {

    ...

    @Override
    protected void configure(HttpSecurity http) throws Exception {

        http
            .rememberMe()
                .tokenRepository(new MyPersistentTokenRepository())
                .rememberMeCookieName("rememberme")
                .tokenValiditySeconds(60 * 60 * 24) 
                .alwaysRemember(true)
                .useSecureCookie(true)
                .and()
            ....
       ...
    }
}
Run Code Online (Sandbox Code Playgroud)

java spring spring-security spring-social

5
推荐指数
1
解决办法
2481
查看次数

Hibernate 6:什么是 SQM?

在 Hibernate 6.0 路线图 ( https://github.com/hibernate/hibernate-orm/wiki/Roadmap6.0 ) 中提到 SQM 即将推出。

什么是 SQM?

在此路线图中,以下简短词对其进行了描述:

SQM 集成:改进了 SQL 生成和执行的性能(较小的 SQL,基于位置的结果提取,而不是基于名称(别名));HQL、JPQL 和 Criteria 查询的统一方法。

这就是我发现的关于 SQM 的全部内容。有人可以更详细地解释一下吗?它到底是什么,它在编码时会是什么样子,它有哪些好处?

java orm parsing hibernate abstract-syntax-tree

5
推荐指数
1
解决办法
1499
查看次数

AccessDeniedHandler 重定向到登录页面

当(在 Spring Security / MVC 中)对页面的访问被拒绝时,由于用户没有足够的权限(尽管他已通过身份验证),我需要通过显示登录页面(而不是标准行为)提供以另一个用户身份登录显示 403 访问被拒绝页面)。
我可以编写一个AccessDeniedHandler, 重定向到登录页面。但是,当 Spring Security 发现已经有另一个用户登录时,它会如何反应?当新用户成功通过身份验证后,我可以以某种方式注销旧用户吗?

spring spring-mvc spring-security

3
推荐指数
1
解决办法
6705
查看次数

Vaadin Flow:组件和元素之间的差异

在Vaadin Flow中,除了Components之外,现在还有Elements.

在元素的javadoc中说:

Component是元素或元素层次结构的更高级抽象.

这实际意味着什么?在更高级别以及使用Elements和何时使用组件时所做的是什么?

java vaadin vaadin-flow

3
推荐指数
1
解决办法
493
查看次数

ClassNotFoundException:org.apache.commons.javaflow.core.StackRecorder

填写 Jasper 报告时,出现以下异常:

java.lang.ClassNotFoundException: org.apache.commons.javaflow.core.StackRecorder
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1285)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)
    at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java)
    at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:162)
    at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:145)
    at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:689)
    at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:670)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:992)
Run Code Online (Sandbox Code Playgroud)

我已经添加了commons-javaflowhttps://search.maven.org/#search%7Cga%7C1%7Ca%3A%22commons-javaflow%22) - 但这没有帮助。哪里可以找到这个类?

编辑:对重复问题标签的一条评论:这不是关于 ClassNotFoundException 的一般问题 - 这是关于 Jasper-Reports / Apache Commons JavaFlow 的特殊问题。所以请拿走这个标签。

java jasper-reports apache-commons

2
推荐指数
1
解决办法
2769
查看次数