Skip to main content
Version: Next

Custom Authentication

Overview

The Apache Shiro framework is used in the inlong manager to realize the functions of authentication and authorization. The manager has integrated the default implementation logic. If you want to realize the custom Shiro based authentication and authorization function in the inlong manager, you can carry out the plug-in development of relevant functions according to the following instructions.

Dependency

  • Add Maven Dependency
    <dependency>
    <groupId>org.apache.inlong</groupId>
    <artifactId>manager-common</artifactId>
    <version>2.1.0-SNAPSHOT</version>
    </dependency>

Code

  • Implement the following interfaces
org.apache.inlong.manager.common.auth.InlongShiro

public interface InlongShiro {

WebSecurityManager getWebSecurityManager();

AuthorizingRealm getShiroRealm();

WebSessionManager getWebSessionManager();

CredentialsMatcher getCredentialsMatcher();

ShiroFilterFactoryBean getShiroFilter(SecurityManager securityManager);

AuthorizationAttributeSourceAdvisor getAuthorizationAttributeSourceAdvisor(SecurityManager securityManager);

}
  • Implement InlongShiro interface and specify the configuration in "@ conditionalonproperty"
@ConditionalOnProperty(name = "type", prefix = "inlong.auth", havingValue = "Custom")
@Component
public class InlongShiroImpl implements InlongShiro {
//todo
}
  • Modify the application.properties under the manager web module
inlong.auth.type=Custom