[
https://issues.apache.org/jira/browse/IGNITE-15101?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17390150#comment-17390150
]
Ignite TC Bot commented on IGNITE-15101:
----------------------------------------
{panel:title=Branch: [pull/9263/head] Base: [master] : No blockers
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/9263/head] Base: [master] : New Tests
(36)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#00008b}Java Client{color} [[tests
36|https://ci.ignite.apache.org/viewLog.html?buildId=6108778]]
* {color:#013220}IgniteClientTestSuite:
ComputeTaskRemoteSecurityContextTest.testClientNode[async=false
failWithTimeout=false mapAsync=false] - PASSED{color}
* {color:#013220}IgniteClientTestSuite:
ComputeTaskRemoteSecurityContextTest.testGridClient[async=false
failWithTimeout=false mapAsync=false] - PASSED{color}
* {color:#013220}IgniteClientTestSuite:
ComputeTaskRemoteSecurityContextTest.testIgniteClient[async=true
failWithTimeout=false mapAsync=true] - PASSED{color}
* {color:#013220}IgniteClientTestSuite:
ComputeTaskRemoteSecurityContextTest.testServerNode[async=true
failWithTimeout=false mapAsync=true] - PASSED{color}
* {color:#013220}IgniteClientTestSuite:
ComputeTaskRemoteSecurityContextTest.testRestClient[async=true
failWithTimeout=false mapAsync=true] - PASSED{color}
* {color:#013220}IgniteClientTestSuite:
ComputeTaskRemoteSecurityContextTest.testClientNode[async=true
failWithTimeout=false mapAsync=true] - PASSED{color}
* {color:#013220}IgniteClientTestSuite:
ComputeTaskRemoteSecurityContextTest.testServerNode[async=true
failWithTimeout=true mapAsync=false] - PASSED{color}
* {color:#013220}IgniteClientTestSuite:
ComputeTaskRemoteSecurityContextTest.testRestClient[async=true
failWithTimeout=true mapAsync=false] - PASSED{color}
* {color:#013220}IgniteClientTestSuite:
ComputeTaskRemoteSecurityContextTest.testClientNode[async=true
failWithTimeout=true mapAsync=false] - PASSED{color}
* {color:#013220}IgniteClientTestSuite:
ComputeTaskRemoteSecurityContextTest.testClientNode[async=true
failWithTimeout=false mapAsync=false] - PASSED{color}
* {color:#013220}IgniteClientTestSuite:
ComputeTaskRemoteSecurityContextTest.testGridClient[async=true
failWithTimeout=false mapAsync=false] - PASSED{color}
... and 25 new tests
{panel}
[TeamCity *--> Run :: All*
Results|https://ci.ignite.apache.org/viewLog.html?buildId=6108860&buildTypeId=IgniteTests24Java8_RunAll]
> Ignite tasks run in a security context other than the initiator's security
> context
> -----------------------------------------------------------------------------------
>
> Key: IGNITE-15101
> URL: https://issues.apache.org/jira/browse/IGNITE-15101
> Project: Ignite
> Issue Type: Improvement
> Reporter: Mikhail Petrov
> Assignee: Mikhail Petrov
> Priority: Major
> Time Spent: 1h
> Remaining Estimate: 0h
>
> Ignite tasks run in a security context other than the initiator's security
> context.
> Reproducer:
> 1. Make TestSecurityProcessor#authenticatedSubjects to return
> TestSecurityProcessor#SECURITY_CONTEXTS values to determine client subject id
> after authentication like:
> {code:java}
> return
> SECURITY_CONTEXTS.values().stream().map(SecurityContext::subject).collect(Collectors.toList());
> {code}
> 2.
> {code:java}
> public class TaskSecurityContextTest extends AbstractSecurityTest {
> /** */
> private static final String TASK_NAME =
> "org.apache.ignite.internal.processors.security.events.TaskSecurityContextTest$TestComputeTask";
> /** {@inheritDoc} */
> @Override protected IgniteConfiguration getConfiguration(String
> igniteInstanceName) throws Exception {
> return super.getConfiguration(igniteInstanceName)
> .setClientConnectorConfiguration(
> new ClientConnectorConfiguration().setThinClientConfiguration(
> new
> ThinClientConfiguration().setMaxActiveComputeTasksPerConnection(1)));
> }
> /** */
> @Test
> public void test() throws Exception {
> IgniteEx ignite = startGridAllowAll("srv");
> String login = "test";
> IgniteClient cli = Ignition.startClient(new ClientConfiguration()
> .setAddresses(Config.SERVER)
> .setUserName(login)
> .setUserPassword("")
> );
> UUID subjId =
> ignite.context().security().authenticatedSubjects().stream()
> .filter(subj -> subj.login().equals(login))
> .findFirst()
> .get()
> .id();
> cli.compute().execute(TASK_NAME, subjId);
> }
> /** Test compute task. */
> public static class TestComputeTask extends ComputeTaskAdapter<UUID,
> Void> {
> /** {@inheritDoc} */
> @Override public @NotNull Map<? extends ComputeJob, ClusterNode> map(
> List<ClusterNode> subgrid,
> @Nullable UUID secSubjId
> ) throws IgniteException {
> return F.asMap(new ComputeJob() {
> /** */
> @IgniteInstanceResource
> private IgniteEx ignite;
> @Override public void cancel() {
> // No-op.
> }
> @Override public Object execute() throws IgniteException {
> assertEquals(secSubjId,
> ignite.context().security().securityContext().subject().id());
> return null;
> }
> }, subgrid.get(0));
> }
> /** {@inheritDoc} */
> @Override public @Nullable Void reduce(List<ComputeJobResult>
> results) throws IgniteException {
> return null;
> }
> }
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)