2013-07-02 3 views
0

안녕하세요!Java 웹 응용 프로그램 역할 전용 보안

은 내가 web.xml의 역할 보안을 통해 내 웹 응용 프로그램을 보호하려고 :

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>RESTRICTED</web-resource-name> 
     <description>Resources to be placed under security control</description> 
     <url-pattern>/*</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>manager</role-name> 
    </auth-constraint> 
</security-constraint> 

<security-role> 
    <description>ACCESS ROLE</description> 
    <role-name>manager</role-name> 
</security-role> 

과 지금까지 내가 사용으로 웹 로직은 다음 줄과 웹 로직-application.xml이있다 :

사용자가 이미 (웹 SSO)을 인증되면
<security> 
    <security-role-assignment> 
     <role-name>manager</role-name> 
     <principal-name>manager</principal-name> 
    </security-role-assignment> 
</security> 

생각 그는 역할이 응용 프로그램은 사용자에 대한 액세스를 제공해야한다.

문제은 사용자에게 필수 역할이 있어도 응용 프로그램이 기본 로그인 양식을 제공합니다.

내가 그런 줄을 추가하기 위해 노력했습니다 :이 라인은 공공 모든 페이지를 수 있다고하는 article에 사실에 의존은 web.xml에

<login-config/> 

을 (나는 그것을 제거 것이라고 생각 로그인 양식,하지만 역할 보안 떠나),하지만 그 효과가 없습니다.

누구든지 역할 보안을 벗어나는 로그인 양식을 제거하는 방법을 알고 있습니까?

업데이트 : 내 WebLogic에는 사용자의 토큰을 확인하는 필기체 ID 어설 션 기능이 있습니다. 토큰이 제시되면 asserter는 principal을 만들고 시스템에서 사용자를 허용합니다.

흥미로운 사실 ​​: 나는 파이어 폭스 브라우저를 사용하는 경우 이 더있는 로그인 폼이 없지만, 크롬에서 기본 로그인 폼은 항상 여기 ... 실제로

+0

이 웹 SSO는 정확히 무엇이며 해당 시스템에서 생성 된 세션/인증 토큰은 어떻게 Weblogic과 통합됩니까? IOW, Weblogic은 사용자가 누구이며 어떤 역할을 가지고 있는지 어떻게 알 수 있습니까? 이 통합을 위해 정의 된 WLS SSPI 공급자가 있습니까? – parry

+0

사실, Weblogic 내부에는 프린시 펄을 만드는 필기체 ID 어설 터가 있습니다. 그래서 이전에 인증 된 사용자 (다른 시스템에서)가 내 응용 프로그램을 사용하려고 할 때 HttpServletRequest에서 Principal 객체를 가져와 처리해야 할 필요가있는 이유는 ... 기본 로그인 양식이 항상 나타나는 것은 무엇이 아닌지 나는 (그리고 사용자) 원한다. 나는 단지 교장 (사용자 그룹) – Dmitry

답변

0

좋아, 마지막으로 내가 찾은 솔루션 섹션의 웹 응용 프로그램 인증에 사용 정체성 어설 '는에 this article 설명 :

<login-config> 
     <auth-method>CLIENT-CERT</auth-method> 
    </login-config> 

을하고 그 일 : 나는 web.xml 파일에 다음 라인을 추가했습니다.