2010-05-08 4 views
5

가급적이면 Flex 프런트 엔드와 잘 통합되는 것이 좋습니다. 그렇습니다. 스프링 보안 담당자는 이것이 가능하다고 말합니다. 그러나 모든 예제는 레거시 jsp 태그 라이브러리를 사용하여 예제처럼 절반으로 쓸모 없게 만듭니다. 한 달 동안 설정하고 보안 도구를 사용하는 방법을 배우기를 원하지 않습니다. 주석 (@RolesAllowed 등), MINIMAL XML 및 'remember-me'기능 (쿠키 기반이 아님) 사용을 지원하는 도구를 원합니다.Java 인증의 대안은 무엇입니까?

Apache Shiro는 Flex/Silverlight/Swing도 지원하는 것으로 보이지만 특정 컨테이너가 아닌 다른 대안이 있는지 알고 싶습니다.

+0

쿠키를 기반으로하고 싶지 않을 때 어떤 종류의 기억을 하시겠습니까? 한 세션 내에서 URL에 매개 변수를 사용할 수 있지만 세션 간에는 (플래시) 쿠키없이 자격 증명을 저장하는 방법을 알지 못합니다. –

+0

SharedObject를 할 수 없습니까? http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/net/SharedObject.html 이 작업을 수행하는 데 필요한 물류가 무엇인지 알 수는 없지만 컨테이너 세션 관리를 완전히 중단하는 것이 좋을 것입니다. (Shiro와 같은) 컨테이너가 필요없는 무언가를 사용한다. 나는 보안/세션 기능이 매번 중단 될 것이라는 걱정없이 J2EE 컨테이너에 배치 할 수 있기를 원하지만, 1/3 내 개발 시간의 보안 설정. 그게 가치있는 목표가 아닌가? – Manius

답변

8

실제로 Apache Shiro은 스프링 보안보다 간단하고 배우기 쉬운 솔루션입니다. 그리고 어리석은 xml 구성은 멋지지 않습니다.

0

왜 Flex가 클라이언트 측인지를 확인해야하는 이유가 없습니다. 누군가 플래시/플렉스를 디 컴파일하는 것을 멈추게합니까?

대부분의 사람들에게 아파치 시로는 잔인하며 자신의 역할을합니다. 솔직히 말해서 가장 좋은 생각은 아닙니다. 나는 수년에 걸쳐 끔찍한 인증 시스템을 많이 보았습니다. 쿠키는 클라이언트의 세션을 추적하기위한 것이고 다른 이유는 무엇입니까?

편집 : 인증에는 봄철 보안을 사용하십시오.

+0

당신이 오해 한 것 같아요. Flex 자체가 아무것도 인증하지 않기를 바래요. swf 해킹이 서버 측 보안을 찾는 이유입니다.Blades 나 Granite DS를 통한 원격 (RemoteObject) 호출이 간단한 폼 제출이 아닌 사용된다는 사실 만이 관련이 있습니다. 즉, JSP 태그 예제는 좋은 예제가 아닙니다. – Manius

+0

또한 나는 스프링 시큐리티 문서가 쿠키 기반의 영속성에 대한 대안에 대해 이야기하고 있다고 믿는다. (나는 그것이 무엇인지 불렀지 만 데이터베이스를 사용한다고 생각한다.) 쿠키가 Flex 애플리케이션과 잘 통합되어 있다고 생각하지 않는다. . 한 가지 더 - 인증 (JAAS)은 어렵지 않지만 인증은 더 문제가되는 것 같습니다. – Manius

+2

@Crusader 당신은 약간 혼란 스럽습니다. 세션 상태를 유지하려면 세션 ID를 웹 서버에 전달해야한다는 것이 절대적으로 요구됩니다. 상태가 세션 빈에 의해 유지되고 있거나 데이터베이스를 사용하는 날씨는 보안상의 관점에서 부적합합니다. 이 세션 ID가 xss 나 스니핑을 통해 공격자에게 누출되면 해당 계정이 손상됩니다. OWASP A3 : 깨진 인증 및 세션 관리는 전체 세션에서 HTTPS를 사용해야합니다. – rook

0

스프링 보안은 현재까지 최고의 도구입니다.

BlazeDS는 마법이 아닙니다. 궁극적으로 HTTP를 통한 서버 호출입니다. Blaze 애플리케이션은 단순한 전쟁 파일이며 전통적인 URL이 있습니다. 따라서 서비스를 보호하려면 web.xml/spring 구성 파일의 url을 보호해야합니다.

기본적으로 스프링 시큐리티/JAAS의 문서를 읽고 jsps를 블레이즈 서비스의 URL로 대체하십시오.

스프링 보안 또한 역할 및 권한을 지원합니다. 또한 remember-me 기능이 있지만 이지만 쿠키는 절대적으로 사용하는입니다. 쿠키가 없으면 remember me 기능을 사용할 수 없습니다.

인증과 관련하여 인증 토큰을 쿠키 대신 요청 매개 변수로 전달할 수 있습니다. 그러나 쿠키가 권장되며 훨씬 쉽습니다.

마지막으로 보안은 https를 사용하지 않으면 무의미합니다. 보안을 염두에 둔다면 응용 프로그램 전체에서 반드시 https를 사용해야합니다.

+3

모든 사람들이 스프링 보안이 너무 뛰어나다 고 말하는 이유를 이해할 수 없습니다. Shiro는 Spring Security가 많은 의존성 목록과 가파른 학습 곡선을 가지고있을 때 "과잉 공격"입니다. Shiro의 목표는 '사용하기가 가장 쉽다'는 것이지, 거의 의존성과 항아리가없고 구성이 거의 없다는 것입니다. 봄 xml의 주물과 대조적으로 나는 누군가가 시로가 과잉이라고 말할 수있는 방법을 이해하지 못한다. Spring Security에는 아마도 더 많은 기능이 있지만 아마도 너무 많이 부풀어 있습니다. 이 두 가지가 유일한 대안이라고 생각됩니다. – Manius

관련 문제