2010-08-04 6 views
1

Google App Engine에 최근에 Roo/Gwt 프로젝트를 배포했습니다.배포 된 Roo/Gwt 프로젝트에 인증 시스템 추가

몇 시간을 보냈지 만 단계별로 n 인증 시스템 (페더레이션 로그인 API)을 추가하는 방법을 보여주는 자습서를 찾을 수 없습니다.

import java.io.IOException; 
import java.io.PrintWriter; 
import java.util.HashMap; 
import java.util.HashSet; 
import java.util.Map; 
import java.util.Set; 

import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

import com.google.appengine.api.users.User; 
import com.google.appengine.api.users.UserService; 
import com.google.appengine.api.users.UserServiceFactory; 

@SuppressWarnings("serial") 
public class OpenIdDemoServlet extends HttpServlet { 

    private static final Map<String, String> openIdProviders; 
    static { 
     openIdProviders = new HashMap<String, String>(); 
     openIdProviders.put("Google", "google.com/accounts/o8/id"); 
     openIdProviders.put("Yahoo", "yahoo.com"); 
     openIdProviders.put("MySpace", "myspace.com"); 
     openIdProviders.put("AOL", "aol.com"); 
     openIdProviders.put("MyOpenId.com", "myopenid.com"); 
    } 

    @Override 
    public void doGet(HttpServletRequest req, HttpServletResponse resp) 
      throws IOException { 
     UserService userService = UserServiceFactory.getUserService(); 
     User user = userService.getCurrentUser(); // or req.getUserPrincipal() 
     Set<String> attributes = new HashSet(); 

     resp.setContentType("text/html"); 
     PrintWriter out = resp.getWriter(); 

     if (user != null) { 
      out.println("Hello <i>" + user.getNickname() + "</i>!"); 
      out.println("[<a href=\"" 
        + userService.createLogoutURL(req.getRequestURI()) 
        + "\">sign out</a>]"); 
     } else { 
      out.println("Hello world! Sign in at: "); 
      for (String providerName : openIdProviders.keySet()) { 
       String providerUrl = openIdProviders.get(providerName); 
       String loginUrl = userService.createLoginURL(req 
         .getRequestURI(), null, providerUrl, attributes); 
       out.println("[<a href=\"" + loginUrl + "\">" + providerName + "</a>] "); 
      } 
     } 
    } 
} 

어떻게 내가 설정이위한 인증 모듈 :

나는 몇 가지 유용한 코드를 제공 this very good article 발견? "main.java"파일이 없기 때문에이 코드를 어디에 두어야합니까?

이이 진행되는

감사

답변

1

는 GWT 2.1/루 1.1.0 구현하는, 대단히 감사합니다. 당신이 생성 된 코드를 변경하면 (그래서, 그것은 것입니다하지만 http://blog.springsource.com/2010/08/02/spring-security-in-google-app-engine/ 그 접근 방식에서 자세한 내용 https://jira.springsource.org/browse/ROO-1003

기다릴 수없는 경우, 구글 앱 엔진 문서의 봄 보안 확인이보기는 루에서 지원하지 않는 Roo를 계속 사용하기가 더 어렵지만 여전히 가능)

+0

배포 된 Roo/Gwt 앱을 안전하게 보호 할 방법이 없습니까? – Zakaria

관련 문제