0

我正在尝试将 Wildfly 身份验证迁移到 elytron,除了一个问题外,几乎所有东西都能按我的意愿工作。

我们正在使用石英调度程序来运行作业。这些作业不受调用者原则的约束。使用

SecurityContextAssociation.pushRunAsIdentity(new RunAsIdentity("My_Role", "My_User"));

我能够将原理传播到以下 EJB 调用。这不再起作用了,原则始终是“匿名的”。有没有办法对 Elytron 做同样的事情?

4

1 回答 1

0

也许您可以使用以下的一些变体:

SecurityIdentity si = SecurityDomain.getCurrent().getCurrentSecurityIdentity();
si.createRunAsIdentity(...);

当前身份需要具有权限才能成功,因此如果您将获得未经授权的异常,您应该向该用户添加 RunAsPrincipal 权限:https ://developer.jboss.org/people/fjuma/blog/2018/06/01 /configuring-permissions-using-elytron-in-wildfly-13

于 2022-01-13T22:45:01.183 回答