2014-11-24 3 views
3

저는 스칼라 앤 플레이 프레임 워크를 사용하고 있습니다. 내 앱에서 게임 보안 인증을 사용하고 싶습니다. 보안 구현 방법 스칼라를 사용하여 권한을 부여하고 재생 하시겠습니까?

은 이전에 내가 자바를 사용하여 프로젝트에 구현하고 다음과 같이 재생 :

public class Secured extends Security.Authenticator { 
    private static String EMAIL = "Email"; 
    private static String U_COOKIE = "ucookie"; 
    public String getUsername(Context ctx) { 
     String decodedText = null; 
     String CHARSET = "ISO-8859-1"; 
     Cookies cookies = play.mvc.Controller.request().cookies(); 
     try { 
      Cookie emailCookie = cookies.get(EMAIL); 
     Cookie uCookie = cookies.get(U_COOKIE); 
     if (uCookie !=null && uCookie.value() != null) { 
    String userId = uCookie.value(); 
     } 
      if (emailCookie != null && emailCookie.value() != null) { 
       String email = emailCookie.value(); 
       try { 
        decodedText = new String(Base64.decodeBase64(email.getBytes(CHARSET))); 
       } catch (UnsupportedEncodingException e) { 
        e.printStackTrace(); 
       } 
      } 
     } catch (Exception e) { 
      Logger.error(e.getMessage()); 
     } 
     return decodedText; 
    } 

    public Result onUnauthorized(Context ctx) { 
     String done = play.mvc.Controller.request().path(); 
     return redirect(routes.RegController.signIn(done)); 
    } 
} 

을하고 나는 내 응용 프로그램을 통해 나의 방법 중 하나 전에

@Security.Authenticated(Secured.class) 

를 사용하여 내 방법 모두에서 인증 이상 사용 .

그 메소드가 보안 클래스를 호출하고 사용자를 인증하기 전에 @ 메서드를 호출 할 때.

이제 scala를 사용하여 동일한 것을 구현하고 싶습니다. 다음은 내 질문입니다 ....

1) @를 사용하여 보안 클래스의 메소드를 상속하고 호출 할 수 있습니까 ??

2) 게임의 보안 인증을 호출하는 올바른 방법은 무엇입니까 ??

P. 보안 인증/권한 구현을 위해 쿠키를 사용하고 싶습니다. 당신이 생산을위한 응용 프로그램을 빌드하는 경우

어떤 도움이나 해결 방법은 큰 은혜가 될 것입니다 ..

답변

9

: 거기 밖으로 많은 프레임 워크의 그것을

하나를 사용하지 마십시오

는 또한 모범 사례를 찾을 수있는 좋은 출발점입니다. 당신이 학습을 위해 주로 그것을 할 싶어 진짜 scecurity 문제는 거기에 가서없는 경우

는 :

https://www.playframework.com/documentation/2.3.x/ScalaActionsComposition

는 제목 인증 거기에 보면 그것을 수행하는 방법 몇 가지 정보를 제공합니다.

https://www.playframework.com/documentation/2.3.x/ScalaInterceptors

+0

좋아하는 이유입니다 언급 한 프레임 워크 :

어떤 방법을 사용하여 요청을 차단하기 위해 필터를 사용하기 전에에서 인증 킥을하려면? 간단한 인증을 구현하려면 무엇을 권하고 싶습니까? – slashburn

+0

현재 최신 Play 버전과 호환성 문제가있는 것 같습니다. – slashburn

+1

지금까지 환경 설정 없음. Deadbolt는 심지어 경기의 일부가 될 수도 있기 때문에 갈 것 같습니다. –

관련 문제