인증 필터

인증 필터를 사용하여 특정 HTTP 서블릿 요청이 특정 제공자에 의해 처리되는지 여부를 판별할 수 있습니다.

Liberty 서버 인증 필터는 server.xml 파일의 authFilter 요소에 지정된 필터 기준을 사용하여 특정 HTTP 서블릿 요청이 인증을 위해 특정 제공자(예: OpenID, OpenID Connect 또는 SPNEGO)에 의해 처리되는지 여부를 판별합니다.

authFilter 요소의 모든 조건이 충족되면 해당 authFilter 요소를 참조하는 특정 제공자에 의해 HTTP 서블릿 요청이 처리됩니다. authFilter 요소의 조건 중 충족되지 않는 조건이 있으면 HTTP 서블릿 요청이 제공자에 의해 처리되지 않습니다.

지원되는 요소

authFilter 요소는 userAgent, host, webApp, remoteAddressrequestUrl 요소를 지원합니다.

  • userAgent 요소는 수신 HTTP 서블릿 요청에서 추출되는 해당 헤더 값에 대해 비교됩니다. userAgent 요소는 원래 요청에서 사용하는 클라이언트 소프트웨어를 식별하는 "User-Agent" HTTP 요청 헤더에 대해 비교됩니다. 웹 클라이언트 브라우저의 경우 이 값은 요청을 시작하는 데 사용되는 브라우저 유형(Internet Explorer, Firefox, Safari 등)을 반영합니다.
  • host 요소는 userAgent 요소와 비슷하게 사용됩니다. host 요소는 요청의 대상 호스트 이름을 식별하는 "Host" HTTP 요청 헤더에 대해 비교됩니다.
  • webApp 요소는 이 인증 필터에 의해 보호되는 Liberty 서버에서 호스팅되는 애플리케이션 또는 애플리케이션의 목록을 지정하는 데 사용됩니다.
  • remoteAddress 요소는 HTTP 요청을 전송한 클라이언트 애플리케이션의 원격 TCP/IP 주소에 대해 비교됩니다. 이 주제에서 나중에 나오는 예제에 표시된 대로 matchType 속성의 lessThan 또는 greaterThan 값을 사용하여 서브넷 및 범위를 지정하기 위해 와일드카드를 구성할 수 있습니다.
  • requestUrl 요소는 요청을 작성하기 위해 클라이언트 애플리케이션이 사용하는 URL에 대해 비교됩니다. 이 주제에서 나중에 나오는 예제에 표시된 대로 단일 URL 패턴이 구성되거나 파이프 연결된 값 목록이 구성됩니다.

인증 필터 예

요청 URL에 패턴이 포함됨
다음 예제에서는 인증 필터의 일반적인 구성을 보여줍니다. 여기서 "/SimpleServlet"이 포함된 요청 URL을 가진 수신 요청은 이 필터를 사용하도록 구성된 서비스에 의해 처리됩니다.
<authFilter id="myAuthFilter">
         <requestUrl id="myRequestUrl" urlPattern="/SimpleServlet" matchType="contains"/>
</authFilter>
요청 URL에 패턴 세트 중 하나가 포함됨
다음 예제에서는 요청 URL 패턴의 파이프 연결된 목록이 지정됩니다. 이 필터를 사용하도록 구성된 서비스로 수신 요청을 처리하려면 수신 요청 URL에 "/SimpleServlet", "/EmployeeRoleServlet" 또는 "/AllRoleServlet" 중 하나를 포함해야 합니다.
<authFilter id="myAuthFilter">
         <requestUrl id="myURL" urlPattern="/SimpleServlet|/EmployeeRoleServlet|/AllRoleServlet" matchType="contains" />
</authFilter>
웹 애플리케이션 이름에 패턴이 포함됨
다음 예제에서는 웹 애플리케이션 이름이 인증 필터에서 지정됩니다. 수신 요청은 이 필터를 사용하도록 구성된 서비스에 의해 처리될 "myApp" 애플리케이션을 대상으로 지정해야 합니다.
<authFilter id="myAuthFilter">
         <webApp id="myWebApp" name="myApp" matchType="contains"/>
</authFilter>
웹 애플리케이션 이름에 패턴 세트 중 하나가 포함됨
다음 예제에서는 웹 애플리케이션의 파이프 연결된 목록이 지정됩니다. 이 필터를 사용하도록 구성된 서비스로 수신 요청을 처리하려면 수신 요청이 "myApp1", "myApp2" 또는 "myApp3" 애플리케이션 중 하나를 대상으로 지정해야 합니다.
<authFilter id="myAuthFilter">
         <webApp id="myWebApp" name="myApp1|myApp2|myApp3" matchType="contains"/>
</authFilter>
요청이 특정 IP 주소에서 발생함
다음 예제에서는 remoteAddress 요소에서 와일드카드를 사용하는 방법을 보여줍니다. 이 구성을 사용하면 127.0.0.* 범위의 IP 주소에서 요청이 제공되는 경우 이 필터를 사용하도록 구성된 서비스가 수신 요청을 처리합니다.
<authFilter id="myAuthFilter">
         <remoteAddress id="myRemoteAddress" ip="127.0.0.*" matchType="equals"/>
</authFilter>
패턴 제외
다음 예제에서는 requestUrl 요소의 파이프 연결된 값 목록을 사용하는 방법을 보여줍니다. 목록의 패턴을 일치시키는 것만으로도 충분히 해당 특정 요소의 요구사항을 충족할 수 있습니다. 이 예제에서는 요청 URL이 "/SimpleServlet", "/EmployeeRoleServlet" 또는 "/AllRoleServlet"을 포함해야 합니다. 또한 요청 URL은 "/ManagerRoleServlet"을 포함해서는 안 되며 요청은 Internet Explorer 사용자 에이전트에서 제공되어야 합니다.
<authFilter id="myAuthFilter">
         <requestUrl id="myURL1" urlPattern="/SimpleServlet|/EmployeeRoleServlet|/AllRoleServlet" matchType="contains" />
         <requestUrl id="myURL2" urlPattern="/ManagerRoleServlet" matchType="notContain" />
         <userAgent id="myAgent" agent="IE" matchType="contains" />
</authFilter>
모든 하위 요소를 사용하는 예
이 필터를 사용하도록 구성된 서비스로 수신 요청을 처리하려면 요청이 다음과 같은 조건을 충족해야 합니다.
  • 요청 URL에 패턴 "/SimpleServlet"을 포함하고 있음
  • "host.example.com"이 포함된 도메인을 대상으로 지정함
  • IP 주소 127.0.0.1에서 제공됨
  • Firefox 브라우저에서 제공됨
  • 대상 애플리케이션의 이름이 myApp
<authFilter id="myAuthFilter">
         <requestUrl id="myRequestUrl" urlPattern="/SimpleServlet" matchType="contains"/>
         <host id="myHost" name="host.example.com" matchType="contains"/>
         <remoteAddress id="myAddress" ip="127.0.0.1" matchType="equals" />
         <userAgent id="myUserAgent" agent="Firefox" matchType="equals"/>
         <webApp id="myWebApp" name="myApp" matchType="contains"/>
</authFilter>

주제의 유형을 표시하는 아이콘 참조 주제



시간소인 아이콘 마지막 업데이트 날짜: Tuesday, 6 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwlp_auth_filter
파일 이름: rwlp_auth_filter.html