Github user d2r commented on a diff in the pull request:

    https://github.com/apache/storm/pull/2886#discussion_r226363931
  
    --- Diff: docs/SECURITY.md ---
    @@ -50,17 +50,33 @@ The UI and logviewer processes provide a way to not 
only see what a cluster is
     doing, but also manipulate running topologies.  In general these processes 
should
     not be exposed except to users of the cluster.
     
    -Some form of Authentication is typically required, with using java servlet 
filters 
    +Some form of Authentication is typically required, and can be done using a 
java servlet filter
     
     ```yaml
     ui.filter: "filter.class"
     ui.filter.params: "param1":"value1"
     logviewer.filter: "filter.class"
     logviewer.filter.params: "param1":"value1"
     ```
    -or by restricting the UI/log viewers ports to only accept connections from 
local
    -hosts, and then front them with another web server, like Apache httpd, 
that can
    -authenticate/authorize incoming connections and
    +
    +The `ui.filter` is an instance of `javax.servlet.Filter` that is intended 
to 
    +filter all incomming requests to the UI and authenticate the request 
mapping 
    +it to a "user".  Typically this is done by modifying or wrapping the 
    +`HttpServletRequest` to return the user principal through the 
    +`getUserPrincipal()` method or returning the user name through the 
    +`getRemoteUser()` method.  If your filter authenticates in a differnt way 
you
    +can look at setting `ui.http.creds.plugin` to point to an instance of 
`IHttpCredentialsPlugin`
    +that can take the `HttpServletRequest` and return a user name and populate 
the needed fields
    +in the current `ReqContext`.  These are advanced features and you may want 
to look at the 
    +`DefaultHttpCredentialsPlugin` as an example of how to do this.
    +
    +These same settings apply to the logviewer too.  If you want to have 
separate controle
    --- End diff --
    
    `control`


---

Reply via email to