2016-07-07 10 views
0

私はSpringのアプリケーションを作成していました。これは、アプリケーションのビュー部分を管理するREST APIとAngularをバックエンドに提供しています。 私はいくつかの質問がありました。Spring MVC + AngularJSでログインしたユーザーを管理する

私はログインしたユーザーを追跡できるように、アプリケーションでセッションを維持することを考えていました。また、ログアウトしたときなどに知っています。さらに、Apiはトークンを使用して認証される必要があります。

私の設定は、データベース用のSpring + AngularおよびPostgreSQLと、ORMとしてのHibernateです。

答えて

0
  1. - あなたはorg.springframework.context.ApplicationListenerを実装春の豆を定義する必要がありますが。

次に、あなたのコードでは、このような何かを:

import org.springframework.context.ApplicationListener; 

@Component 
public class myLoginListener implements ApplicationListener<ApplicationEvent> { 

public void onApplicationEvent(ApplicationEvent appEvent) 
{ 
    if (appEvent instanceof AuthenticationSuccessEvent) 
    { 
     AuthenticationSuccessEvent event = (AuthenticationSuccessEvent) appEvent; 
     UserDetails userDetails = (UserDetails) event.getAuthentication().getPrincipal(); 

     //track the logged in Users here .... 
    } 
} 

2.Toトラックログアウト - のHttpSessionListener実装することで、リスナーを記述し、以下のように春のセキュリティを使用..

sessionDestroyed()はと呼ばれ、の直前にセッションが破棄されます。 Secure AnugularJS applications with spring security

official siteからこのチュートリアル -

@Component 
public class mySessionListener implements javax.servlet.http.HttpSessionListener{ 

    @Override 
    public void sessionDestroyed(HttpSessionEvent se) { 
     HttpSession session = se.getSession(); 

    SecurityContextImpl springSecurityContext = (SecurityContextImpl)session.getAttribute("SPRING_SECURITY_CONTEXT"); 
    if(springSecurityContext!=null){ 
     Authentication authentication = springSecurityContext.getAuthentication(); 
     LdapUserDetails userDetails = (LdapUserDetailsImpl)authentication.getPrincipal(); 
    //track user logout here 

} 
... 

あなたはこのチュートリアルを参照することができます。

+0

ログイン用のトークンを生成するにはどうすればいいですか? –

+0

これは役立つかもしれませんhttp://stackoverflow.com/questions/13992972/how-to-create-a-authentication-token-using-java –

0

春のセキュリティ・フレームワークに見てみましょう:ログイン追跡するために

spring security official documentation

Spring security getting started example

+0

どのような角度でそれを行うには?例のためのリンクがもうありますか? –

+0

春のセキュリティのために、ログインフォーム(htmlファイル)を定義しなければならないので、このページ内では角度を使用できます。 –

関連する問題