2011-12-13 2 views
0

GAE 및 GWT를 사용하여 사용자가 사이트에 액세스 할 때 자신의 Google 계정으로 로그인해야하는 애플리케이션을 개발합니다. 그래서 나는 응용 프로그램을 처음 열 때 내가 테스트 로그인 화면으로 promted받을 로컬 dev에 서버를 실행하는거야 때web.xml을 사용하여 GWT에 사용자 로그인을 요구하십시오.

<security-constraint> 
    <web-resource-collection> 
     <url-pattern>/index.html</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>*</role-name> 
    </auth-constraint> 
</security-constraint> 

... web.xml 파일에 다음과 같이 정의되어 있지만 경우 배포하고 인증없이 응용 프로그램에 직접 연결합니다. 먼저 다른 Google 서비스에 이미 로그인했기 때문에 그럴 수 있다고 생각했지만 다른 브라우저 및 시크릿 모드에서도 시도했습니다.

답변

1

아래 코드 스 니펫과 같이 모든 리소스가 안전하도록 두 번째로 추가 코드 web-resource-name 태그를 "all"값에 추가하려면 URL 패턴을 *로 사용하는 것이 좋습니다.

그리고 당신이 이미 서비스하는 서블릿 매핑이 가정입니다 등

<security-constraint> 
<web-resource-collection> 
    <web-resource-name>all</web-resource-name> 
    <url-pattern>/*</url-pattern> 
</web-resource-collection> 
<auth-constraint> 
    <role-name>*</role-name> 
</auth-constraint> 
</security-constraint> 
+0

하지만 오른쪽뿐만 아니라 다른 서블릿 영향을 미칠 것인가? 나는 안드로이드 장치에서 POST 요청을받는 Servlet을 가지고 있기 때문에. 전화를 인증하는 방법에 대한 제안 사항이 있습니까? –

+0

전화가 브라우저를 통해 액세스하는 경우 PC 인증과 동일합니다. 하지만 Android 앱이 액세스하는 경우 로그인 방법이 확실하지 않습니다. 방법이 있지만 확신 할 수는 없지만 Android 포럼을 확인할 수 있습니다. 또한 Android에서 액세스하는 URL을 구분할 수 있으며 사용자의 요구 사항 인 경우 인증을 적용하지 않을 수 있습니다. –

+0

Android 클라이언트도 Google 계정으로 승인되어야합니다. 따라서 "승인 된"POST 요청을 보낼 수 있다면 정말 좋을 것입니다. 저는 몇몇 Google 직원에게 물어보고 내일 당신의 솔루션을 시도 할 것입니다. 그러나 그것이 효과가있을 것이라 확신합니다. –

관련 문제