小编eti*_*iau的帖子

@PreAuthorize如何在Reactive Application中工作或如何在没有ThreadLocal的情况下生存?

你能解释处理@PreAuthorize("hasRole('ADMIN')")的建议在Reactive应用程序中检索SecurityContext的位置吗?

以下Spring Security示例很好地说明了这种用法:https://github.com/spring-projects/spring-security/tree/5.0.0.M4/samples/javaconfig/hellowebflux-method

在检查了Spring Security Webflux源代码之后,我发现了SecurityContextRepository的一些实现,但是load方法需要ServerWebExchange作为参数.

我试图了解如何在标准服务中替换SecurityContextHolder.getContext().getAuthentication()调用(因为ThreadLocal不再是Reactive Application中的选项),但我不明白如何用调用替换它到没有ServerWebExchange引用的SecurityContextRepository.

spring-security spring-webflux

10
推荐指数
2
解决办法
3218
查看次数

Eclipse Galileo点击Ubuntu 9.10上的问题

我刚刚将我的Ubuntu从9.04升级到9.10,我正在尝试使用Eclipse Galileo解决一个非常烦人的问题.

问题是Eclipse没有捕获一些按钮点击.例如,我试图安装一个插件,然后我点击下一步,然后什么也没发生.

在升级我的Ubuntu版本之前,我没有遇到同样的问题.

eclipse click galileo ubuntu-9.10

9
推荐指数
1
解决办法
4564
查看次数

使用 Hooks 和 Lift 将 Context 推送到 ThreadLocal

我问自己是否有办法在订阅者收到 onNext 信号之前将反应性上下文推送到 ThreadLocal 变量中。在研究 reactor-core 时,我发现了 Hooks 类和 Lift BiFunction。

我创建了一个具有以下实现的类。该类由一个 ThreadLocal 变量组成,该变量将保存 Context 并实现必要的 BiFunction 接口。它将所有调用委托给实际订阅者,并且如果在实际订阅者上调用 onNext 之前修改到 ThreadLocal 变量,它还会推送上下文。

package com.example.demo;

import org.reactivestreams.Subscription;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import reactor.core.CoreSubscriber;
import reactor.core.Scannable;
import reactor.util.context.Context;

import java.util.function.BiFunction;

public class ThreadLocalContextLifter<T> implements BiFunction<Scannable, CoreSubscriber<? super T>, CoreSubscriber<? super T>> {

    private static Logger logger = LoggerFactory.getLogger(ThreadLocalContextLifter.class);

    private static final ThreadLocal<Context> contextHolder = new ThreadLocal<>();

    public static Context getContext() {
        Context context = contextHolder.get();
        if (context == null) {
            context = …
Run Code Online (Sandbox Code Playgroud)

project-reactor

8
推荐指数
1
解决办法
1228
查看次数

7
推荐指数
1
解决办法
827
查看次数

表单Validaton错误:渲染还是重定向?

在play框架文档中,有两种不同的方法来处理带有验证错误的操作:

  • 重定向到索引(文档的验证部分):
    if (validation.hasErrors()) {
        params.flash(); // add http parameters to the flash scope
        validation.keep();  // keep the errors for the next request
        index();
    }
Run Code Online (Sandbox Code Playgroud)
  • 渲染到表单模板(在教程中):
    if (validation.hasErrors()) {
        render("@form", post);
    }
Run Code Online (Sandbox Code Playgroud)

做这个的最好方式是什么 ?渲染还是重定向?

validation playframework

6
推荐指数
1
解决办法
1703
查看次数

查找用于合并提交的合并策略?

让我们举一个简单的例子,我使用“我们的”合并策略将一个主题分支合并到主分支。这个合并创建了 H 提交,在我做了一些其他提交之后。

      A---B---C topic
     /         \
D---E---F---G---H---I---J---K master
Run Code Online (Sandbox Code Playgroud)

我想知道,是否有可能事后确定在提交 H 上使用了哪种合并策略?

git git-merge

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