小编Ale*_*lex的帖子

Keycloak将自定义属性检索到KeycloakPrincipal

在我的休息服务中,我可以在认证后使用获取主要信息

KeycloakPrincipal kcPrincipal = (KeycloakPrincipal) servletRequest.getUserPrincipal();
Run Code Online (Sandbox Code Playgroud)

声明.

Keycloak校长并不知道我需要有关经过身份验证的用户的所有信息.是否可以自定义我自己的主体类型?在keycloak-server-end上我开发了一个用户联合提供程序.我看到UserModel可以为我的用户添加一组自定义属性.

是否可以在该代码中插入我的自定义主体?

是否可以从keycloak principal检索此属性?

这是什么方式?

authentication customization jboss principal keycloak

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

用于发送带附件的电子邮件的GMAIL API

我正在开发一个能够读取包含图像网址列表的CSV的javascript客户端.

我可以通过jquery-csv读取csv并在html5画布中绘制每个图像.

下一步是将每个图像应用于文本图层,并使用gmail api通过电子邮件发送图像.

所以我的不同之处在于找到一个示例,向我展示如何使用画布并仅使用javascript将其附加到电子邮件中.

我有没有根据multipart gmail指南构建一个json并将其作为指定的POST主体发送?

你能给我一些例子吗?

javascript email gmail email-attachments gmail-api

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

WSO2 ESB跟踪请求 - 响应

我正在研究WSO2 ESB 4.8.1

ESB HOME/repository/logs/wso2carbon.log
Run Code Online (Sandbox Code Playgroud)

我需要知道一个请求与其通过我的代理服务的相对响应之间的连接.

我尝试遵循在我的代理的insequence和out序列中打印的MessageID属性,但我意识到,即使我不太确定,这个属性是不同的.

那么我怎么知道所有响应都与哪些请求相关联?

我应该创建自己的自定义属性并将其记录在序列和后序中吗?

logging response wso2 request wso2esb

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

Wildfly 禁用日志子系统

在我的 Web 应用程序中,我需要使用我的日志记录框架。该框架由每个 web 应用程序加载,就像一个 jar 依赖项。

为了禁用 jboss 日志子系统,我尝试创建一个

jboss-deployment-structure.xml
Run Code Online (Sandbox Code Playgroud)

文件复制到:

(firt try)- webapplication.war\WEB-INF\
(second try) - webapplication.war\WEB-INF\lib\my_framework.jar\META-INF\
Run Code Online (Sandbox Code Playgroud)

该文件的内容是:

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
    <deployment>
        <exclusions>
            <module name="org.jboss.as.logging (or org.jboss.logging)" /> 
        </exclusions>
    </deployment>
Run Code Online (Sandbox Code Playgroud)

但日志过程中似乎没有任何变化。我检查了框架 MANIFEST.MF 并且没有导入其他依赖项。

我还意识到,通过从 standalone.xml 取消日志子系统,自定义日志框架可以正常工作。

java logging subsystem wildfly-9

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

Stackexchange Redis Sentinel 客户端

我正在使用 Redis 分布式缓存,其故障转移模式与哈希数据分布合并。我的配置是:

          Sentinel1                   Sentinel4
Master1                     Master2
          Sentinel2                   Sentinel5
Slave1                      Slave2
          Sentinel3                   Sentinel6
Run Code Online (Sandbox Code Playgroud)

在我的代码中,我需要使用哨兵访问主缓存。

我要指出哪一点?

我想我必须在 ConnectionMultiplexer 的配置中注册所有哨兵点。

我可以使用以下代码将我的客户端连接到哨兵:

  var options = new ConfigurationOptions()
    {
        CommandMap = CommandMap.Sentinel,
        EndPoints = { { IP, Port } },
        AllowAdmin = true,
        TieBreaker = "",
        ServiceName = ServiceName,
        SyncTimeout = 5000,
        AbortOnConnectFail = true,
        Ssl = false
    };
    var connection = ConnectionMultiplexer.Connect(options, Console.Out);
    return connection;
Run Code Online (Sandbox Code Playgroud)

一旦获得连接,我需要使用标准 Redis 方法(如 SetString 和 getString)访问缓存数据库...所以

db = conn.getDatabase();
db.getString(key);
db.setString(key, value);
Run Code Online (Sandbox Code Playgroud)

此时我收到一条错误消息,指出“此操作已在命令映射中禁用,无法使用:SETEX”或 GET。

我想应该有一种方法可以询问哨兵与当前主机的连接,但我没有找到很多有用的代码示例。有人可以帮我吗?

c# caching redis redis-sentinel stackexchange.redis

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