hi everyone,

I'm developing my own authorization plugin. I've arrived to a point that i'm 
blocked.

My code is:

public void authorize(String s, SecurityPermission securityPermission, 
@Nullable SecurityContext securityContext) throws SecurityException {
        if (securityContext.subject().login().equals("test-user")) {
            System.out.println("You can entry");
        } else {
            System.out.println("You cannot entry");
        }
    }

I have a problem, always securityContext is null. But in my code i have:

public SecurityContext authenticate(AuthenticationContext 
authenticationContext) throws IgniteCheckedException {
        SecurityPluginSecuritySubject securityPluginSecuritySubject = new 
SecurityPluginSecuritySubject(
                authenticationContext.subjectId(),
                authenticationContext.subjectType(),
                authenticationContext.credentials().getLogin(),
                authenticationContext.address()
        );

        return new SecurityPluginSecurityContext(securityPluginSecuritySubject);
}

In ignite code 
(https://github.com/apache/ignite/blob/master/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java)
 i've saw:


 /**
     * @param op Operation to check.
     * @throws SecurityException If security check failed.
     */
    public void checkSecurity(SecurityPermission op) throws SecurityException {
        if (CU.isSystemCache(name()))
            return;

        ctx.security().authorize(name(), op, null);
    }

In security context always is null. Why? Am I missing something in my code?

Thank's for your help.

Reply via email to