kylin添加用户
- 基于spring security的方式进行;
- 首先,kylin的web页面登陆是依据的spring security,加密的方式有两种:
EncryptMethod: AES or BCrypt
,这里采用的是BCrypt
的方式;
- 第一步:设定密码,例如为12345;
- 第二步:获取加密后的密码,加密方式源码(module:server-base: org.apache.kylin.rest.security.PasswordPlaceholderConfigurer),具体步骤如下:
cd ${KYLIN_HOME}/bin
kylin.sh org.apache.kylin.rest.security.PasswordPlaceholderConfigurer BCrypt 123456
# 加密后的密码会在界面中打印出来
-
密码加密
- 第三步:切换到 $KYLIN_HOME/tomcat/webapps/kylin/WEB-INF/classes/kylinSecurity.xml
- step-1找到
<beans profile="testing">
,添加一个bean对象,(id不能重复)如下所示:
<bean class="org.springframework.security.core.userdetails.User" id="modelerUser8">
<constructor-arg value="TEST"/>
<constructor-arg
value="$2a$10$lYbNllH44G2tlexlYQLD1egl6lNynnWo81KMGrLepqNhgVt98VY6y"/>
<constructor-arg ref="modelerAuthorities"/>
</bean>
- step-2: 找到bean对象
kylinUserAuthProvider
,将step-1中的id添加到list中;
<bean id="kylinUserAuthProvider"
class="org.apache.kylin.rest.security.KylinAuthenticationProvider">
<constructor-arg>
<bean class="org.springframework.security.authentication.dao.DaoAuthenticationProvider">
<property name="userDetailsService">
<bean class="org.springframework.security.provisioning.InMemoryUserDetailsManager">
<constructor-arg>
<util:list
value-type="org.springframework.security.core.userdetails.User">
<ref bean="adminUser"></ref>
<ref bean="modelerUser"></ref>
<ref bean="analystUser"></ref>
<ref bean="modelerUser8"></ref>
</util:list>
</constructor-arg>
</bean>
</property>
<property name="passwordEncoder" ref="passwordEncoder"></property>
</bean>
</constructor-arg>
</bean>
- 第四步:将kylinSecurity.xml 分发到kylin集群各个节点中;
- 第五步:重启kylin集群;
网友评论