[ZEPPELIN-4580] check the instance type rather than the class name

### What is this PR for?
A few sentences describing the overall goals of the pull request's commits.
First time? Check out the contributing guide - https://zeppelin.apache.org/contribution/contributions.html

This checks if the realm is an instance of KnoxJwtRealm instead of checking for it by name to enable subclassing of KnoxJwtRealm.

### What type of PR is it?
[Bug Fix]

### Todos
* [ ] - Task

### What is the Jira issue?
* Open an issue on Jira https://issues.apache.org/jira/browse/ZEPPELIN/
* Put link here, and add [ZEPPELIN-*Jira number*] in PR title, eg. [ZEPPELIN-533]
https://issues.apache.org/jira/browse/ZEPPELIN-4580

### How should this be tested?
* First time? Setup Travis CI as described on https://zeppelin.apache.org/contribution/contributions.html#continuous-integration
* Strongly recommended: add automated unit tests for any new or changed behavior
* Outline any manual steps to test the PR here.

I have tested this change manually with a custom authenticator in an integrated environment.  JWT authentication works.

I have also set up Travis.  A run is at https://travis-ci.org/LeapYear/zeppelin-source/builds/649031975 but there seem to be several errors unrelated to this change.

### Screenshots (if appropriate)

### Questions:
* Does the licenses files need update?
No
* Is there breaking changes for older versions?
No
* Does this needs documentation?
No

Author: Jeff Hammel <jeff@leapyear.io>

Closes #3618 from jeff-hammel-leapyear/jeff/knox_instanceof and squashes the following commits:

3909846f8 [Jeff Hammel] remove now unused references to name
00c3d7dae [Jeff Hammel] check the instance type rather than the class name
1 file changed
tree: f6e82309e5e25c40334e7f1dfb805ba871948f3e
  1. .github/
  2. _tools/
  3. alluxio/
  4. angular/
  5. beam/
  6. bigquery/
  7. bin/
  8. cassandra/
  9. conf/
  10. dev/
  11. docs/
  12. elasticsearch/
  13. file/
  14. flink/
  15. geode/
  16. groovy/
  17. hbase/
  18. helium-dev/
  19. ignite/
  20. interpreter/
  21. interpreter-parent/
  22. jdbc/
  23. kylin/
  24. lens/
  25. licenses/
  26. livy/
  27. markdown/
  28. neo4j/
  29. notebook/
  30. pig/
  31. python/
  32. r/
  33. sap/
  34. scalding/
  35. scio/
  36. scripts/
  37. shell/
  38. spark/
  39. testing/
  40. zeppelin-display/
  41. zeppelin-distribution/
  42. zeppelin-examples/
  43. zeppelin-integration/
  44. zeppelin-interpreter/
  45. zeppelin-interpreter-integration/
  46. zeppelin-jupyter/
  47. zeppelin-server/
  48. zeppelin-web/
  49. zeppelin-zengine/
  50. .appveyor.yml
  51. .gitignore
  52. .travis.yml
  53. LICENSE
  54. NOTICE
  55. pom.xml
  56. README.md
  57. Roadmap.md
  58. SECURITY-README.md
  59. STYLE.md
  60. travis_check.py
README.md

Apache Zeppelin

Documentation: User Guide
Mailing Lists: User and Dev mailing list
Continuous Integration: Build Status
Contributing: Contribution Guide
Issue Tracker: Jira
License: Apache 2.0

Zeppelin, a web-based notebook that enables interactive data analytics. You can make beautiful data-driven, interactive and collaborative documents with SQL, Scala and more.

Core feature:

  • Web based notebook style editor.
  • Built-in Apache Spark support

To know more about Zeppelin, visit our web site http://zeppelin.apache.org

Getting Started

Install binary package

Please go to install to install Apache Zeppelin from binary package.

Build from source

Please check Build from source to build Zeppelin from source.