2015-01-10 3 views
1

먼저 Play에 사용할 수있는 인증 모듈을 완전히 알고 있습니다. 즉, 나는 심지어 SecureSocial에서 간단한 예제 코드를 구현할 수 없다고 말했습니다. 약간의 연구를 통해 Play 프레임 워크가 2.3.x으로 업데이트되면 here으로 제공된 예제 코드에서 많은 부분이 깨졌습니다. 온라인 문서의 도움말 및 표준을 구현하는 방법에 필립 존슨 우수한 video tutorial안전한 네이티브 Play Framework 2.3.x (Java 스타일) 인증 구현

내가 성공적으로 한 (안전) 인증이 구현 다음

// Class which is used by the @Security annotation 
public class Secured extends Security.Authenticator { 

    @Override 
    public String getUsername(Context ctx) { 
     return ctx.session().get("auth"); 
    } 

    @Override 
    public Result onUnauthorized(Context ctx) { 
     return redirect(routes.Application.login()); 
    } 
} 


// Controller class that serves routes 
public class Application extends Controller { 

    @Security.Authenticated(Secured.class) 
    public static Result index() { 
     return ok(index.render("Your new application is ready.")); 
    } 

    public static Result login() { 
     session().clear(); 
     session("auth", "a1234"); // dummy data simulating succesful login 
     returning redirect(routes.Application.index()); 
    } 
} 

내가 궁극적으로 사용자를 인증 할 수있는 안전한 로그인 시스템을 구현해야 .

제 질문은 양면입니다. 다음 중 무엇이 더 좋을까요? 작업 코드 기반을 가져 와서 향상 시키거나 인증 모듈 중 하나를 다른 샷으로 구현함으로써 "바퀴 교체"(적어도 부분적으로)는 무엇입니까?

우리 모두는 내가 알고

... 나는 그것을 나 자신 보인다을 만들 때 성공적으로 컴파일 훨씬 더 나은 기회가, 그렇게 말한다면, 한결 마음에 들지 않는 건전한 보안-IN-에 대한 (또한 레이어 보안) 보안 연결 구현이 필요합니다 (HTTPSTLS 1.2 '작성 당시). 이것은 나의 질문의 범위를 벗어납니다.

답변

1

이 질문에 대한 답이 올바른지 모르겠습니다. 자신 만의 프레임 워크를 만들지 또는 기존 프레임 워크를 시도할지 (완벽하게 작동하지 않을 수도 있음)는 자신이 판단 할 문제입니다. 개인적으로, 나는 아마도 SecureSocial을 시작점으로 사용 하겠지만, 제대로 작동하지 않으면 내 자신의 코드를 작성합니다. 이미 시도한 접근 방식 인 것 같습니다.

SecureSocial을 사용하려면 master 분기를 체크 아웃하고 소스에서 빌드해야 할 수 있습니다. 예가 시대에 뒤진 경우에는 사용하기가 어려울 수 있지만 자신의 인증 코드를 다시 작성하는 것은 어렵습니다.

관련 문제