2010-01-28 5 views
1

기본 인증을 사용하여 JDBCrealm과 함께 작동하도록 Glassfish를 성공적으로 구성했습니다. 하지만 JSP 페이지에서는 작동하지 않습니다. 내 JSP 페이지는 j_security_check 및 j_username과 j_password를 사용하여 간단합니다. UnAuthorizedAccess 페이지로 이동합니다 (로그인 오류 페이지). 기본 인증이 아닌 양식 기반이 아닌 이상한 것입니다. 잠재적 인 문제는 누구에게 이야기 할 수 있습니까?JDBCrealm FORM 기반 문제입니다. 하지만 완벽하게 작동하는 BASIC!

또한 JDBCrealm 테이블 요구 사항의 구조가 너무 추해, 왜 그렇게 비정규 화 된 것입니까? 구조를 바꾸려면 어떻게해야합니까? 추천

사용자 (사용자 ID INT, 자명 VARCHAR (50) USERPASSWORD의 VARCHAR (50))

역할 (역할 ID의 INT, Rolename의 VARCHAR (20))

UsersXRoles (UsersXRolesId의 INT, 사용자 아이디 INT, 역할 ID int)

?? 어떻게 구성해야합니까? http://flexiblejdbcrealm.wamblee.org/

+0

음 ... 어떻게 정규화되지 않습니까? 사용자, 역할 및 ManyToMany 결합 자 테이블 UsersXRoles가 있습니다. 나에게 꽤 좋아 보인다. –

+0

그것이 내가 말하고있는 것입니다! 사용자 (사용자 ID INT, 자명 VARCHAR (50) USERPASSWORD의 VARCHAR (50)) 역할 (역할 ID의 INT, Rolename의 VARCHAR (20)) UsersXRoles (UsersXRolesId의 INT, 사용자 아이디 INT :이 전 달성하고자하는 구조이며 , 역할 ID의 int)를 그러나 JDBCrealm이 구조를 따라 저를 강제로 : 테이블 사용자에게 ( _ 이름의 VARCHAR (15) NOT NULL 기본 키, user_pass의 VARCHAR (15) 를 null이 아닌)을 생성; 테이블 user_roles에게 ( _ 이름 VARCHAR (15) 널되지 ROLE_NAME의 VARCHAR (15) 널되지 기본 키 (_ 이름, ROLE_NAME) )를 만들고; 위의 표는 정규화되지 않았 음을 알 수 있습니까? – TCM

답변

1

에서

덕분에 나는 그것을 할 수있는 라이브러리를 발견했다. 귀하의 게시물에 설명 된 것과 동일한 레이아웃이 있으며 다음과 같이 표시됩니다.

CREATE OR REPLACE VIEW v_user_role_relation AS 
SELECT u.username, u.password, g.groupname 
    FROM user_group_rel ugr 
    JOIN users u ON u.user_id = ugr.user_id 
    JOIN groups g ON g.group_id = ugr.group_id::numeric; 

다른 문제는 여러 가지 이유가있을 수 있습니다. 서버 구성에서 렐름을 정의했는지 확인하십시오. 기본 구성 (한 번 나에게 일어난 것)이 아닙니다.

1

당신은 정규화 된 데이터베이스를 만들고 글래스 피시에 대한 뷰를 생성 할 수 있습니다 : 사전 :