2010-02-22 4 views
4

JSF 웹 프로젝트에서 사용자 인증을 수행하는 가장 좋은 방법을 찾으십시오. 내가 찾은 this 아주 좋은 예제 BalusC에서 stockoveroverflow (방법에 의해 감사 BalusC). 그러나 나는이 시스템을 이해하지 못한다.JSF 2.0의 사용자 인증을위한 최선의 방법은 무엇입니까?

나는 등록 페이지를 작성했습니다. 등록 후 사용자는 내 데이터베이스에 있습니다. 하지만 누가 j_security_check을 사용하여 데이터베이스에서 사용자를 확인할 수 있습니까?

내 webproject에는 사용자 및 비 사용자를위한 사이트가 없습니다. 사용자가 로그인 할 때 더 많은 옵션이 표시되도록 예를 들어 텍스트를 게시 할 수 있습니다. 누가 이것을 확인할 수 있습니까? 내가 로그인에서 유저 데이터와 사용자 클래스를 저장하고 확인할 수 있습니다

if(user != null){ 
<h:inputText value="User Only Text" id="text" /> 
} 

그러나 나는이 방법은 매우 우아하지라고 생각합니다. 또한 내 질문은 비 사용자보다 웹 페이지에서 사용자 로그인을하고 유효한 사용자에게 더 많은 옵션을 표시하는 가장 좋은 방법입니다.

나쁜 영어로 죄송합니다.

답변

3

그러나 j_security_check을 사용하여 데이터베이스에서 사용자를 확인하려면 어떻게해야합니까?

article은 GlassFish 내의 JDBC 영역과 함께 HTTP FORM 기반 인증을 사용하는 방법을 설명합니다.

사용자 로그인을하고 유효한 사용자에게 비 사용자보다 웹 페이지에서 더 많은 옵션을 표시하는 가장 좋은 방법은 무엇입니까?

기본적으로 사용자가 "옵션"을 볼 수있는 적절한 역할을하는지 확인해야합니다. 살펴보기

+0

고맙습니다. – ThreeFingerMark

+0

@Pascal : 컨테이너 기반 보안에서 시로 (shiro) 또는 다른 보안 제품으로 전환하는 것이 좋은시기에 대해 말하고 싶습니까? 여기에 더 초점을 맞춘 질문보기 : http : //stackoverflow.com/questions/7782720/when-to-move-from-container-managed-security-to-alternatives-like-apache-shiro –

4

을 세션 범위 관리 Bean으로 선언하고 구성 요소의 rendered 특성을 사용하기 만하면됩니다.

<h:inputText value="User Only Text" id="text" rendered="#{user != null}" /> 
+0

그리고 내가 말하는 사용자 클래스는 로그인 후에 범위가 지정된 세션에로드됩니까? – ThreeFingerMark

+0

'# {userManager.user! = null}'을 사용하거나'externalContext.getSessionMap(). put '을 사용하여'UserManager' 세션 빈을'login()'메소드와'user' 속성으로 사용하면됩니다. ("user", user)'를 호출한다. – BalusC

+0

자세한 답변을 보내 주셔서 감사합니다. 나는 이것을 시도 할 것이다. – ThreeFingerMark

관련 문제