servletcontainer에 소위 "LDAP 영역"을 만들어야합니다. 이렇게하는 방법은 사용 된 servletcontainer에 따라 다릅니다. 사용 된 servletcontainer에 대한 세부 사항을 알려주지 않았으므로 적절한 대답을하기는 어렵지만 일반적으로 영역 구성에 대한 servletcontainer의 설명서를 읽는 것만으로 충분합니다. 예를 들어 Tomcat의 경우는 Realm Configuration HOW-TO입니다. Tomcat의 경우 JNDIRealm
이 필요합니다. 자세한 내용은 JSP wiki에서 확인할 수 있습니다.
그런 다음 <security-constraint>
항목을 web.xml
에 선언하여 특정 페이지에 대한 로그인이 필요하도록 웹 응용 프로그램을 구성해야합니다. web.xml
에있는 <login-config>
항목에 로그인 및 오류 페이지를 구성 할 수 있습니다.
<security-constraint>
<web-resource-collection>
<web-resource-name>secured</web-resource-name>
<url-pattern>/secured/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>X</role-name> <!-- Should be your AD group name. -->
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.xhtml</form-login-page>
<form-error-page>/error.xhtml</form-error-page>
</form-login-config>
</login-config>
로그인 폼 j_security_check
로 할 전망 및 입력 필드 명으로 j_username
및 j_password
를 사용한다.
<form action="j_security_check" method="post">
<input type="text" name="j_username" />
<input type="password" name="j_password" />
<input type="submit" value="login" />
</form>
당신은 검증을보다 세밀하게 제어하려는 따라서 JSF <h:inputText required="true" />
를 사용하는 등, 당신은 또한 차례 HttpServletRequest#login()
를 호출하는 백업 콩 액션 메소드 제출 수합니다. 단지 서블릿 컨텍스트에서 JSF 컨텍스트에서 ExternalContext#getRemoteUser()
또는 HttpServletRequest#getRemoteUser()
를 사용하여 로그인 한 사용자의 이름을 얻기에 따라 또한 Performing user authentication in Java EE/JSF using j_security_check
를 참조하십시오. 다음과 같이뿐만 아니라 JSF EL에 액세스 할 수 있습니다
는
<p>Welcome, #{request.remoteUser}</p>
시스템 속성은 실제로 이러한 맥락에서 absoutely 이해되지 않는다 서버의 자신의 사용자를 반환합니다.
좀 더 명확 해지기. 영어가 모국어가 아닐 수도 있지만 이것은 매우 불분명합니다. – OmniOwl
Tomcat을 사용하는 경우 : http://stackoverflow.com/a/267906/368544 – mschonaker