Apache Zeppelin啟動默認是匿名(anonymous)模式登錄的,也就是任何人都可以訪問,這個可以在/zeppelin/conf下的zeppelin-site.xml中看到:
<property>
<name>zeppelin.anonymous.allowed</name>
<value>true</value>
<description>Anonymous user allowed by default</description>
</property>
description中寫道Anonymous user allowed by default(匿名用戶默認被允許),這樣我們訪問我們安裝的zepplin界面里是這樣的:


右上角顯示anonymous表示匿名模式。
接下來我們要做的就是如何通過修改配置來讓我們的zeppelin擁有驗證登錄的功能:
- 修改/zeppelin/conf/zeppelin-site.xml文件選項zeppelin.anonymous.allowed的value為false,表示不允許匿名訪問:
- <property>
<name>zeppelin.anonymous.allowed</name>
<value>false</value>
<description>Anonymous user allowed by default</description>
</property>
- 修改/zeppelin/conf/shiro.ini文件,顯然zeppelin采用了shiro作為他的驗證登錄權限控制框架,那么我們需要對shiro有一些了解,我們去看該文件的最后幾行:
[urls]
# anon means the access is anonymous.
# authcBasic means Basic Auth Security
# authc means Form based Auth Security
# To enfore security, comment the line below and uncomment the next one
/api/version = anon
/** = anon
#/** = authc
顯然是對localhost:7878/#/**的進行驗證,對/**的不驗證,那我們就修改為對任何url訪問都需要驗證:把/**=anon修改為/**=authc,這樣重啟zeppelin后訪問我們的zeppelin主頁就變成這個樣子了:


看見右上角的Login按鈕了吧?對的,你現在zeppelin已經需要登錄才能繼續訪問了,可是滿屏幕的去找也沒找到注冊的地方,那么我們通過什么賬號來進行登錄呢?繼續修改zeppelin/conf/shiro.ini文件:
[users]
# List of users with their password allowed to access Zeppelin.
# To use a different strategy (LDAP / Database / ...) check the shiro doc at http://shiro.apache.org/configuration.html#Configuration-INISections
admin = admin
user1 = password2, role1, role2
user2 = password3, role3
user3 = password4, role2
已經給我們加了這些賬號了,看第一條注釋提供了用戶以及對應的密碼用來允許訪問zeppelin,然后你自己可以在下面加一些用戶xxx = yyy,其中的角色也可以自行選擇,需要詳細了解的可以熟悉熟悉shiro的角色權限控制。重啟zeppelin用你知道的賬號去登錄吧~!
輸入對應賬號進入主頁后選擇一個你已經添加過的notebook進去然后去右上角看見有一把小鎖:


會顯示Note Permissions點擊后出現上圖所示可以填寫該notebook的Owners(所有者)、Readers(只讀用戶)、Writers(讀寫用戶),這樣每一個notebook就可以歸屬于某一個具體的用戶了,避免了多用戶同時使用zeppelin可能造成的沖突。
還有很多其他功能值得你去發現、研究!