Zeppelin制作的图标可以生成 iframe 进行分享,但是在实践过程中会遇到几个坑。
参考https://zeppelin.apache.org/docs/0.7.3/security/http_security_headers.html
修改zeppelin-site.xml
<property>
<name>zeppelin.server.xframe.options</name>
<value>ALLOWALL</value>
<description>The X-Frame-Options HTTP response header can be used to indicate whether or not a browser should be allowed to render a page in a frame/iframe/object.</description>
</property>
解决了x-frame问题后,iframe可以嵌入其他域名的网站,但是要看到这个iframe,必须是登陆的用户,如何让未登陆用户查看呢?
2. 允许匿名用户查看分享的paragraph iframe
需要改动conf/shiro.ini
shiro有URL层面的权限空值,在配置文件的 [url] 一项
/** = authc #表示所有url都要有认证的权限
/** = anon #表示所有url不登陆也能访问
所有要让iframe被匿名访问,首先就要 设置 /** = anon
但是如果对于部分页面和notebook,又希望有相关的权限配置的话,首先在[url]里配置好指定的 URL 需要authc或其他role才能访问,同时在zeppelin-site.xml里配置 zeppelin.notebook.public =false,这样的话用户访问指定的 URL 时系统会让他登陆,且所有notebook都是默认私密的。