복붙노트

[SPRING] 인간을위한 JAAS

SPRING

인간을위한 JAAS

JAAS를 이해하는 데 어려움을 겪고 있습니다. 모든 것이 더 복잡해 보입니다 (특히 Sun 자습서). Struts + Spring + Hibernate 기반 사용자 정의 사용자 저장소를 기반으로 Java 애플리케이션에서 보안 (인증 + 권한 부여)을 구현하는 방법에 대한 간단한 자습서 또는 예제가 필요합니다. ACEGI를 사용하여 구현할 수 있습니다.

해결법

  1. ==============================

    1.다음은 JAAS를 이해하는 데 도움이되는 몇 가지 링크입니다.

    다음은 JAAS를 이해하는 데 도움이되는 몇 가지 링크입니다.

    http://www.owasp.org/index.php/JAAS_Tomcat_Login_Module

    http://www.javaworld.com/jw-09-2002/jw-0913-jaas.html

    http://jaasbook.wordpress.com/

    http://roneiv.wordpress.com/2008/02/18/jaas-authentication-mechanism-is-it-possible-to-force-j_security_check-to-go-to-a-specific-page/

    또한 Apache Tomcat 영역 설정 방법을 살펴보십시오.

    http://tomcat.apache.org/tomcat-6.0-doc/realm-howto.html

  2. ==============================

    2.다른 사용자는 위의 몇 가지 유용한 링크를 제공하므로 링크로 신경 쓰지 않을 것입니다. JAAS가 Java World의 웹 응용 프로그램과 다른 "계층"에서 보안을 다루는 프레임 워크라는 것을 마침내 깨달을 때까지 웹 응용 프로그램 용 JAAS에서 비슷한 연구를 수행했으며 "마인드로드 블록"을 만났습니다. Java EE가 아닌 Java SE의 보안 문제를 해결하기위한 빌드입니다.

    다른 사용자는 위의 몇 가지 유용한 링크를 제공하므로 링크로 신경 쓰지 않을 것입니다. JAAS가 Java World의 웹 응용 프로그램과 다른 "계층"에서 보안을 다루는 프레임 워크라는 것을 마침내 깨달을 때까지 웹 응용 프로그램 용 JAAS에서 비슷한 연구를 수행했으며 "마인드로드 블록"을 만났습니다. Java EE가 아닌 Java SE의 보안 문제를 해결하기위한 빌드입니다.

    JAAS는 웹 애플리케이션보다 훨씬 낮은 수준의 보안을 위해 제작 된 보안 프레임 워크입니다. 이러한 것들의 예로 JVM 레벨에서 사용 가능한 코드와 리소스가 있습니다. 따라서 JVM 레벨에서 정책 파일을 설정할 수 있습니다.

    그러나 Java EE는 Java SE 위에 구축되었으므로 JAAS의 일부 모듈은 Java EE 보안 (예 : LoginModules 및 Callback)에서 재사용되었습니다.

    Java EE 보안 외에도 원시 Java EE 보안과 비슷한 스프링 보안 (이전의 Acegi)이 보안 웹 어플리케이션 문제에서 훨씬 더 높은 "계층"을 처리한다는 점에 유의하십시오. 별도의 보안 구현이며 표준 Java EE 보안 위에 구축되지는 않지만 여러면에서 유사하게 작동합니다.

    요약하면, Java SE 레벨 (클래스, 시스템 리소스)의 리소스를 보호하지 않으려는 경우 공통 클래스 및 인터페이스를 사용하는 것 외에는 JAAS를 실제로 사용하지 않습니다. 스프링 보안이나 평범한 구식 Java EE 보안을 사용하는 데 중점을 두는 것만으로도 일반적인 웹 애플리케이션 보안 문제를 많이 해결할 수 있습니다.

  3. ==============================

    3.javax.security는 imho overcomplicated API입니다. 결과적으로 LoginModule뿐만 아니라 인증 및 권한 부여 관리자와 같이 위의 추상화 계층을 생성하는 전체 인증 및 권한 부여 API의 구현자가 있습니다.

    javax.security는 imho overcomplicated API입니다. 결과적으로 LoginModule뿐만 아니라 인증 및 권한 부여 관리자와 같이 위의 추상화 계층을 생성하는 전체 인증 및 권한 부여 API의 구현자가 있습니다.

    우선,이를 메모리에 인쇄하는 것이 좋습니다.

    두 번째로, imho는 JAAS의 가장 간단한 setup & go 라이브러리 인 Jboss PicketBox를 사용합니다. JBossAuthenticationManager 및 JBossAuthorizationManager를 통한 인증 및 권한 부여 방법 ... XML 또는 주석을 통해 쉽게 구성 가능합니다. 웹 응용 프로그램과 독립 실행 형 응용 프로그램을 관리하는 데 사용할 수 있습니다.

    자원에 대한 ACL 측면에서 저장소 액세스를 관리하기위한 권한 부여 부분이 필요한 경우, 이는 사용자가 확실히 찾고있는 것입니다.

    보안 문제는 일반적으로 필요에 맞게 사용자 정의해야하기 때문에 다음과 같이 구현할 수 있습니다.

    LoginModule - userName + 비밀번호를 확인합니다.

    CallbackHandler는,이 새로운 LoginContext ( 「Sample」, 새로운 MyCallbackHandler ())와 같이 사용됩니다.

    CallbackHandler는 기본 LoginModule에 전달되어 사용자와 통신 및 상호 작용할 수 있습니다 (예 : 그래픽 사용자 인터페이스를 통해 사용자 이름과 암호를 묻는 메시지). Handler 내부에서 사용자로부터 사용자 이름과 암호를 가져오고 LoginModule로 전달됩니다.

    LoginContext - 그러면 lc.login ()을 호출한다. 자격 증명을 인증합니다. LoginContext는 인증 된 Subject로 채워집니다.

    그러나 Jboss picketbox는 특별한 것을 필요로하지 않는 한 정말 쉬운 방법입니다.

  4. ==============================

    4.lsiu의 답변은 실제로 "얻으십시오"라는 답변입니다.)

    lsiu의 답변은 실제로 "얻으십시오"라는 답변입니다.)

    그 대답에 덧붙여,이 주제에 대한 훌륭한 참고 자료는 JAAS에 대한 Whatever Happened입니다.

    JASPIC이 서블릿과 EJB 보안 모델과 잠재적으로 JAAS 로그인 모듈 사이에서 Java EE의 링크 인 방법을 설명하지만 많은 경우 JAAS의 역할은 Java EE의 비교적 간단한 사용자 이름과 역할 공급자의 역할로 축소되었습니다.

    같은 저자에서 엔터프라이즈의 JAAS는 이전 기사이지만 Java SE (JAAS) 및 Java EE 모델이 왜 그런 식으로 분산되었는지에 대한 많은 역사적 배경을 제공합니다.

    전반적으로 JAAS의 몇 가지 유형은 Java EE, 즉 Principal, Subject 및 CallbackHandler에서 직접 사용됩니다. 후자의 두 개는 주로 JASPIC에서 사용합니다. JASPIC은 JASPIC을 사용하여 Java EE에서 컨테이너 인증 구현하기 기사에서 설명했다.

  5. ==============================

    5.JAAS 자체에 대해 너무 많이 말할 수는 없지만 Spring Security에 대한이 "권장 단계"가이드와 참조 매뉴얼은 Spring Security에 대한 훌륭한 참고 자료입니다. 설치가 간단하다면 정말 필요하지 않습니다. 이보다 더 많이 읽으십시오.

    JAAS 자체에 대해 너무 많이 말할 수는 없지만 Spring Security에 대한이 "권장 단계"가이드와 참조 매뉴얼은 Spring Security에 대한 훌륭한 참고 자료입니다. 설치가 간단하다면 정말 필요하지 않습니다. 이보다 더 많이 읽으십시오.

  6. ==============================

    6.순전히 JAAS 튜토리얼을 보려면 이것을 확인하십시오. 오래된 것이지만 JAAS 기초에 도움이됩니다.

    순전히 JAAS 튜토리얼을 보려면 이것을 확인하십시오. 오래된 것이지만 JAAS 기초에 도움이됩니다.

  7. from https://stackoverflow.com/questions/628416/jaas-for-human-beings by cc-by-sa and MIT license