You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@storm.apache.org by Max Bridgewater <ma...@gmail.com> on 2015/11/22 16:56:56 UTC

Simple Authentication with Storm 0.10.0

Hi,

I am trying to setup Storm 0.10.0 with security. In the example provided
here https://github.com/apache/storm/blob/v0.10.0-beta/SECURITY.md, the
authentication type is kerberos.

The documentation on AuthenticationFilter suggests that I can also use
simple authentication type.

My question: is the simple type supported in Storm 0.10.0? If so, how
should I configure it?


Here is what I tried. In my storm.yaml, I added this:

 ui.filter:
"org.apache.hadoop.security.authentication.server.AuthenticationFilter"
 ui.filter.params:
   "type": "simple"
   "user.name": "badman"


But when I hit the UI, I get the following exception in ui.log:

2015-11-22 10:28:05.170 o.a.s.s.o.e.j.s.ServletHandler [WARN] Error for
/api/v1/
supervisor/summary
java.lang.NoClassDefFoundError: org/apache/http/client/utils/URLEncodedUtils
        at
org.apache.hadoop.security.authentication.server.PseudoAuthentication
Handler.getUserName(PseudoAuthenticationHandler.java:124)
~[hadoop-auth-2.4.0.ja
r:?]
        at
org.apache.hadoop.security.authentication.server.PseudoAuthentication
Handler.authenticate(PseudoAuthenticationHandler.java:160)
~[hadoop-auth-2.4.0.j
ar:?]


I then downloaded the apache httpclient  (
http://apache.mirror.vexxhost.com//httpcomponents/httpclient/binary/httpcomponents-client-4.5.1-bin.tar.gz)
and unzipped it into the storm lib folder. Now I am getting this exception:


2015-11-22 10:47:37.223 o.a.s.s.o.e.j.s.ServletHandler [WARN]
/api/v1/supervisor/summary
java.lang.NullPointerException
    at
org.apache.http.client.utils.URLEncodedUtils.parse(URLEncodedUtils.java:235)
~[httpclient-4.5.1.jar:4.5.1]
    at
org.apache.hadoop.security.authentication.server.PseudoAuthenticationHandler.getUserName(PseudoAuthenticationHandler.java:124)
~[hadoop-auth-2.4.0.jar:?]



Any help would be much appreciated.

Re: Simple Authentication with Storm 0.10.0

Posted by Max Bridgewater <ma...@gmail.com>.
Sorry. Issue resolved. Looking at the code,
PseudoAuthenticationHandler.java:124, it appears that I have to send
user.name as request parameter.

Thanks,
Max.

On Sun, Nov 22, 2015 at 10:56 AM, Max Bridgewater <max.bridgewater@gmail.com
> wrote:

> Hi,
>
> I am trying to setup Storm 0.10.0 with security. In the example provided
> here https://github.com/apache/storm/blob/v0.10.0-beta/SECURITY.md, the
> authentication type is kerberos.
>
> The documentation on AuthenticationFilter suggests that I can also use
> simple authentication type.
>
> My question: is the simple type supported in Storm 0.10.0? If so, how
> should I configure it?
>
>
> Here is what I tried. In my storm.yaml, I added this:
>
>  ui.filter:
> "org.apache.hadoop.security.authentication.server.AuthenticationFilter"
>  ui.filter.params:
>    "type": "simple"
>    "user.name": "badman"
>
>
> But when I hit the UI, I get the following exception in ui.log:
>
> 2015-11-22 10:28:05.170 o.a.s.s.o.e.j.s.ServletHandler [WARN] Error for
> /api/v1/
> supervisor/summary
> java.lang.NoClassDefFoundError:
> org/apache/http/client/utils/URLEncodedUtils
>         at
> org.apache.hadoop.security.authentication.server.PseudoAuthentication
> Handler.getUserName(PseudoAuthenticationHandler.java:124)
> ~[hadoop-auth-2.4.0.ja
> r:?]
>         at
> org.apache.hadoop.security.authentication.server.PseudoAuthentication
> Handler.authenticate(PseudoAuthenticationHandler.java:160)
> ~[hadoop-auth-2.4.0.j
> ar:?]
>
>
> I then downloaded the apache httpclient  (
> http://apache.mirror.vexxhost.com//httpcomponents/httpclient/binary/httpcomponents-client-4.5.1-bin.tar.gz)
> and unzipped it into the storm lib folder. Now I am getting this exception:
>
>
> 2015-11-22 10:47:37.223 o.a.s.s.o.e.j.s.ServletHandler [WARN]
> /api/v1/supervisor/summary
> java.lang.NullPointerException
>     at
> org.apache.http.client.utils.URLEncodedUtils.parse(URLEncodedUtils.java:235)
> ~[httpclient-4.5.1.jar:4.5.1]
>     at
> org.apache.hadoop.security.authentication.server.PseudoAuthenticationHandler.getUserName(PseudoAuthenticationHandler.java:124)
> ~[hadoop-auth-2.4.0.jar:?]
>
>
>
> Any help would be much appreciated.
>