且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Apache Zeppelin设置访问登录

更新时间:2022-09-21 21:00:08

Apache Zeppelin启动默认是匿名(anonymous)模式登录的,也就是任何人都可以访问,这个可以在/zeppelin/conf下的zeppelin-site.xml中看到:

[plain] view plain copy Apache Zeppelin设置访问登录Apache Zeppelin设置访问登录

  1. <property>  

  2.   <name>zeppelin.anonymous.allowed</name>  

  3.   <value>true</value>  

  4.   <description>Anonymous user allowed by default</description>  

  5. </property>  

description中写道Anonymous user allowed by default(匿名用户默认被允许),这样我们访问我们安装的zepplin界面里是这样的:Apache Zeppelin设置访问登录

Apache Zeppelin设置访问登录

右上角显示anonymous表示匿名模式。

接下来我们要做的就是如何通过修改配置来让我们的zeppelin拥有验证登录的功能:

  1. 修改/zeppelin/conf/zeppelin-site.xml文件选项zeppelin.anonymous.allowed的value为false,表示不允许匿名访问:

[plain] view plain copy Apache Zeppelin设置访问登录Apache Zeppelin设置访问登录

  1. <property>  

  2.   <name>zeppelin.anonymous.allowed</name>  

  3.   <value>true</value>  

  4.   <description>Anonymous user allowed by default</description>  

  5. </property>  

  1. 修改/zeppelin/conf/shiro.ini文件,显然zeppelin采用了shiro作为他的验证登录权限控制框架,那么我们需要对shiro有一些了解,我们去看该文件的最后几行:

[plain] view plain copy Apache Zeppelin设置访问登录Apache Zeppelin设置访问登录

  1. [urls]  

  2. # anon means the access is anonymous.  

  3. # authcBasic means Basic Auth Security  

  4. # authc means Form based Auth Security  

  5. # To enfore security, comment the line below and uncomment the next one  

  6. /api/version = anon  

  7. /** = anon  

  8. #/** = authc  


显然是对localhost:7878/#/**的进行验证,对/**的不验证,那我们就修改为对任何url访问都需要验证:

/**=anon修改为/**=authc,

这样重启zeppelin后访问我们的zeppelin主页就变成这个样子了:Apache Zeppelin设置访问登录

Apache Zeppelin设置访问登录

看见右上角的Login按钮了吧?对的,你现在zeppelin已经需要登录才能继续访问了,可是满屏幕的去找也没找到注册的地方,那么我们通过什么账号来进行登录呢?继续修改zeppelin/conf/shiro.ini文件

[plain] view plain copy Apache Zeppelin设置访问登录Apache Zeppelin设置访问登录

  1. [users]  

  2. # List of users with their password allowed to access Zeppelin.  

  3. # To use a different strategy (LDAP / Database / ...) check the shiro doc at http://shiro.apache.org/configuration.html#Configuratio  

  4. n-INISections  

  5. admin = password1  

  6. user1 = password2, role1, role2  

  7. user2 = password3, role3  

  8. user3 = password4, role2  

已经给我们加了这些账号了,看第一条注释提供了用户以及对应的密码用来允许访问zeppelin,然后你自己可以在下面加一些用户xxx = yyy,其中的角色也可以自行选择,需要详细了解的可以熟悉熟悉shiro的角色权限控制。重启zeppelin用你知道的账号去登录吧~!

输入对应账号进入主页后选择一个你已经添加过的notebook进去然后去右上角看见有一把小锁:Apache Zeppelin设置访问登录

Apache Zeppelin设置访问登录

会显示Note Permissions点击后出现上图所示可以填写该notebook的Owners(所有者)、Readers(只读用户)、Writers(读写用户),这样每一个notebook就可以归属于某一个具体的用户了,避免了多用户同时使用zeppelin可能造成的冲突。

还有很多其他功能值得你去发现、研究!










本文转自 chengxuyonghu 51CTO博客,原文链接:http://blog.51cto.com/6226001001/1894089,如需转载请自行联系原作者