Страница после входа в PlayFramework

в моей пьесе! Приложение, я закодировал контроллеры. Suecurity as

class Security extends controllers.Secure.Security {
...
   static void onDisconnected() {       
       Application.index();
   }
   static void onAuthenticated() {
      User user = User.find("byEmail",Security.connected()).first();
      if(user.isAdmin()) {
         Admin.index();
      }else {
          System.out.println("onAuthenticated()::user not admin");
   }
}

Я установил маршруты как

GET     /admin/?              Admin.index
*       /admin                module:crud
GET     /                    Application.index

, когда я нахожусь на странице, скажем, появится страница, и щелкнула ссылку входа, появляется форма входа, и я могу войти. Если я Войдите как администратор, он отвечает мне в admin.index () и, таким образом, чтобы администратор / index.html представить .so далеко так хорошо

, но, когда я нахожусь на страницеx, и щелкнул на ссылке в систему, я ожидаю вернуться для PageX.instead, метод Application.index () называется, и я доставлен в Application.index.html .. Это ожидаемое поведение? Что мне нужно сделать, чтобы добраться до страницы после входа в систему?

Обновление:

Я пытался хранить URL во флэш-памяти, используя @Before в контроллере безопасности

class Security extends controllers.Secure.Security {
   @Before
   static void storeCurrentUrl() {
      System.out.println("storeCurrentUrl()");
      flash.put("url", "GET".equals(request.method) ? request.url : "/");
   }
   static boolean authenticate(String username, String password) {
   ...
   }

   static void onAuthenticated() {
      ...
      String url = flash.get("url");
      System.out.println("url="+url);
      if(!user.isAdmin()) {
         if(url!=null) {
        System.out.println("url not null");
        redirect(url);
     }else {
       System.out.println("url null  ..go to /");
       redirect("/");
    }
      }
   }

, когда я вхожу в систему, я получаю этот выход клемме

url=null
url null  ..go to /
index()

Я положил ссылки в логине / выхода в шаблон Main.html, который унаследован все остальные страницы

<div id="main">
    <div class="auth">
     <a href="@{Admin.index()}">Go to Admin Area</a><br/><br/>
     <a href="@{Secure.login()}">Login</a><br/><br/>
     <a href="@{Secure.logout()}">Log out</a>
</div>
5
задан Damon Julian 5 September 2011 в 06:21
поделиться