3장. 추가 기능


3.1. FORM 로그인을 폴백으로 추가

또한 JBoss EAP와 여기에 배포된 애플리케이션은 대체로 사용할 FORM 로그인 인증 메커니즘을 구성할 수 있습니다. 이를 통해 Kerberos/SPNEGO 토큰이 없는 경우 애플리케이션에서 인증을 위한 로그인 페이지를 제공할 수 있습니다. 이 인증은 Kerberos 인증과 독립적으로 수행됩니다. 결과적으로 FORM 로그인 대체 구성 방법에 따라 사용자가 이 방법으로 인증하기 위해 별도의 인증 정보가 필요할 수 있습니다.

참고

FORM 로그인으로의 대체는 SPNEGO 또는 NTLM 토큰이 없거나 SPNEGO 토큰이 있는 경우 또는 다른 KDC에서 사용할 수 있는 경우에 사용할 수 있습니다.

3.1.1. 애플리케이션 업데이트

다음 단계는 FORM 로그인을 위한 애플리케이션을 대체로 구성하는 데 필요합니다.

  1. Kerberos 및 SPNEGO를 사용하도록 JBoss EAP 및 웹 애플리케이션 구성.

    인증 및 권한 부여를 위해 Kerberos 및 SPNEGO를 사용하도록 JBoss EAP와 웹 애플리케이션을 구성하는 데 필요한 단계는 JBoss EAP에 대한 SSO를 Kerberos로 설정하는 방법을 참조하십시오.

  2. 로그인 및 오류 페이지를 추가합니다.

    FORM 로그인을 사용하려면 로그인 및 오류 페이지가 필요합니다. 이러한 파일은 웹 애플리케이션에 추가되며 인증 프로세스에서 사용됩니다.

    예: login.jsp 파일

    <html>
      <head></head>
      <body>
        <form id="login_form" name="login_form" method="post" action="j_security_check" enctype="application/x-www-form-urlencoded">
          <center> <p>Please login to proceed.</p> </center>
          <div style="margin-left: 15px;">
            <p> <label for="username">Username</label> <br /> <input id="username" type="text" name="j_username"/> </p>
            <p> <label for="password">Password</label> <br /> <input id="password" type="password" name="j_password" value=""/> </p>
            <center> <input id="submit" type="submit" name="submit" value="Login"/> </center>
          </div>
        </form>
      </body>
    </html>

    예: error.jsp 파일

    <html>
      <head></head>
      <body>
        <p>Login failed, please go back and try again.</p>
      </body>
    </html>

  3. web.xml 을 수정합니다.

    로그인 및 오류 페이지를 웹 애플리케이션에 추가한 후 FORM 로그인을 위해 이러한 파일을 사용하도록 web.xml 을 업데이트해야 합니다. 정확한FORM<auth-method> 요소에 추가해야 합니다. <auth-method> 에는 쉼표로 구분된 목록과 순서가 중요하므로 <auth-method>정확한 값은 SPNEGO,FORM 으로 업데이트해야 합니다. 또한 <form-login-config> 요소를 <login-config>에 추가하고 < form- login-page> 및 <form- error-page> 요소로 지정된 로그인 및 오류 페이지의 경로를 추가해야 합니다.

    예제: 업데이트된 web.xml 파일

    <web-app>
      <display-name>App1</display-name>
      <description>App1</description>
      <!-- Define a security constraint that requires the Admin role to access resources -->
      <security-constraint>
        <display-name>Security Constraint on Conversation</display-name>
        <web-resource-collection>
          <web-resource-name>examplesWebApp</web-resource-name>
          <url-pattern>/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>Admin</role-name>
        </auth-constraint>
      </security-constraint>
      <!-- Define the Login Configuration for this Application -->
      <login-config>
        <auth-method>SPNEGO,FORM</auth-method>
        <realm-name>SPNEGO</realm-name>
        <form-login-config>
          <form-login-page>/login.jsp</form-login-page>
          <form-error-page>/error.jsp</form-error-page>
        </form-login-config>
      </login-config>
      <!-- Security roles referenced by this web application -->
      <security-role>
        <description> role required to log in to the Application</description>
        <role-name>Admin</role-name>
      </security-role>
    </web-app>

3.1.2. Elytron 하위 시스템 업데이트

  1. http-authentication-factoryFORM 인증 메커니즘을 추가합니다.

    kerberos 기반 인증에 대해 구성한 기존 http-authentication-factoryFORM 인증을 위한 추가 메커니즘을 사용할 수 있습니다.

    /subsystem=elytron/http-authentication-factory=example-krb-http-auth:list-add(name=mechanism-configurations, value={mechanism-name=FORM})
  2. 대체 주체 추가.

    kerberos 기반 인증에 대한 기존 구성에 kerberos 토큰의 주체를 애플리케이션의 역할로 매핑하기 위해 이미 보안 영역이 구성되어 있어야 합니다. 해당 영역에 대한 대체 인증을 위해 추가 사용자를 추가할 수 있습니다. 예를 들어 filesystem-realm 을 사용한 경우 적절한 역할을 사용하여 새 사용자를 생성할 수 있습니다.

/subsystem=elytron/filesystem-realm=exampleFsRealm:add-identity(identity=fallbackUser1)

/subsystem=elytron/filesystem-realm=exampleFsRealm:set-password(identity=fallbackUser1, clear={password="password123"})

/subsystem=elytron/filesystem-realm=exampleFsRealm:add-identity-attribute(identity=fallbackUser1, name=Roles, value=["Admin","Guest"])

3.1.3. 레거시 보안 하위 시스템 업데이트

JBoss EAP에서 레거시 보안 하위 시스템을 사용하는 경우 대체 인증을 위해 보안 도메인을 업데이트해야 합니다.

대체 로그인 메커니즘을 지원하도록 웹 애플리케이션 보안 도메인을 구성해야 합니다. 이 작업을 수행하려면 다음 단계가 필요합니다.

  1. 대체 인증 방법으로 사용할 새 보안 도메인을 추가합니다.
  2. 대체 도메인을 가리키는 웹 애플리케이션 보안 도메인에 usernamePasswordDomain 모듈 옵션을 추가합니다.

예제: 백백 보안 도메인으로 구성된 보안 도메인

/subsystem=security/security-domain=app-fallback:add(cache-type=default)

/subsystem=security/security-domain=app-fallback/authentication=classic:add()

/subsystem=security/security-domain=app-fallback/authentication=classic/login-module=UsersRoles:add(code=UsersRoles, flag=required, module-options=[usersProperties="file:${jboss.server.config.dir}/fallback-users.properties", rolesProperties="file:${jboss.server.config.dir}/fallback-roles.properties"])

/subsystem=security/security-domain=app-spnego/authentication=classic/login-module=SPNEGO:add(code=SPNEGO, flag=required, module-options=[serverSecurityDomain=host])

/subsystem=security/security-domain=app-spnego/authentication=classic/login-module=SPNEGO:map-put(name=module-options, key=usernamePasswordDomain, value=app-fallback)

/subsystem=security/security-domain=app-spnego/authentication=classic/login-module=SPNEGO:map-put(name=module-options, key=password-stacking, value=useFirstPass)

reload

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동