小编Jam*_*mes的帖子

使用 Keycloak 和 SpringBoot 的多租户

我正在使用 spring 引导适配器和 keycloak 弹簧引导适配器来执行多租户,我可以使用 ip 和域名访问页面。但是当我运行 gradlew 脚本时,似乎没有检测到这个 bean 没有发生任何变化。即使我包含了一个记录器,日志也没有打印出来,所以我认为这个文件根本没有被读取。我错过了什么吗?或者是否有任何我可以用于多租户的实现。谢谢。

KeycloakTomcatContextCustomizer

@Component
public class KeycloakTomcatContextCustomizer implements TomcatContextCustomizer
{
    private static final Logger logger = LoggerFactory.getLogger(KeycloakTomcatContextCustomizerBean.class);

    @Override
    public void customize(Context context)
    {
        LoginConfig loginConfig = new LoginConfig();
        loginConfig.setAuthMethod("--KEYCLOAK--");
        context.setLoginConfig(loginConfig);
        context.addSecurityRole("myproject");

        SecurityConstraint constraint = new SecurityConstraint();
        constraint.addAuthRole("myproject");

        SecurityCollection collection = new SecurityCollection();
        collection.addPattern("/contexts");
        constraint.addCollection(collection);

        context.addConstraint(constraint);

        context.addParameter("keycloak.config.resolver", HostBasedKeycloakResolver.class.getName());
    }

    public class HostBasedKeycloakResolver extends KeycloakSpringBootConfigResolver
    {
        private KeycloakDeployment keycloakDeployment;

        @Autowired
        private AdapterConfig adapterConfig;

        @Override
        public KeycloakDeployment resolve(OIDCHttpFacade.Request request) {
        if (keycloakDeployment != null) …
Run Code Online (Sandbox Code Playgroud)

multi-tenant spring-boot keycloak spring-boot-gradle-plugin keycloak-services

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

如何使用 jest.mock 和 React 测试库来模拟 useRef

我有一个测试用例,我需要模拟 useRef 才能返回模拟当前值。我尝试了 jest.mock 但它返回一个 HTMLDivElement 。

代码:

   const ref = useRef<HTMLDivElement | null>(null);
Run Code Online (Sandbox Code Playgroud)

测试:

  jest.mock('react', () => {
     const originReact = jest.requireActual('react');
       return {
          ...originReact,
          useRef: jest.fn(),
       };
  });



  React.useRef.mockReturnValue({ current: {offsetWith: 100} }); 
Run Code Online (Sandbox Code Playgroud)

模拟回报

[ { type: 'return', value: { current: [HTMLDivElement] } } ]
Run Code Online (Sandbox Code Playgroud)

unit-testing reactjs jestjs react-testing-library react-hooks

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

同一个表中的多个外键

我可以在MYSQL中引用3个外键吗?因为在INNODB中,关系视图中只出现一个外键约束.

mysql

4
推荐指数
1
解决办法
1万
查看次数