2013-11-25 120 views
0

我有一個使用spring 3.2的web應用程序。登錄過程是通過spring security.When用戶提供一個URL來查看特定用戶的配置文件,他將重定向到如果他沒有登錄,我需要返回到用戶的個人資料。由於我使用的是角度js,因此我的網址的格式爲彈簧安全和angularjs登錄後重定向回給定

http://mydomain.com/#/view-profile/71查看用戶的個人資料。如果我沒有登錄,它將重定向到登錄頁面。在瀏覽器中,url變成http://mydomain.com/login#/view-profile/71,但成功登錄後它不會重定向到指定的url。如何使用angularjs進行設置。

在app.js我給這樣的

$routeProvider.when('/view-profile/:id', 
    { 
     templateUrl: '/partials/editor/view-profile.htm', 
     action: 'kc.view-profile', 
     resolve: { 
      loadData: ViewCtrl.loadUserProfile 
     } 
    } 
); 

以及在security.xml文件驗證它是這樣寫

<http use-expressions="true"> 
      <!-- Authentication policy --> 
      <form-login login-page="/login" login-processing-url="/j_security_check" authentication-failure-url="/login?error=true"/> 
      <logout logout-url="/signout" delete-cookies="JSESSIONID" /> 
      <intercept-url pattern="/assets/**" access="permitAll" /> 
      <intercept-url pattern="/application/signin/**" access="permitAll" /> 
      <intercept-url pattern="/application/signup/**" access="permitAll" /> 
      <intercept-url pattern="/application/manage/**" access="ROLE_EDITOR" /> 
      <interce 

pt-url pattern="/application/**" access="isAuthenticated()" /> 
     <!--<intercept-url pattern="/application/connect/**" access="permitAll" />--> 
    </http> 


    <authentication-manager alias="authenticationManager"> 
     <authentication-provider user-service-ref="userDao"> 
      <password-encoder ref="passwordEncoder"/> 
     </authentication-provider> 
    </authentication-manager> 
+0

可能重複(http://stackoverflow.com/questions/20186410/handling-angularjs-url-in-s pring-security-how-to-redirect-back-to-url-with-in) –

+1

重複的問題已被其作者刪除。 – joragupra

回答

1

Spring Security沒有支持Ajax的登錄失這就是爲什麼你的應用程序無法正常工作。

你可以看看它處理Ajax的登錄/註銷與AngularJS + Spring Security的這個示例應用程序:

https://github.com/jhipster/jhipster-sample-app

我不得不實施一些具體的Ajax處理程序,你可以在這裏看到:

[處理angularjs網址春季安全如何將其與#回重定向到URL]的

https://github.com/jhipster/jhipster-sample-app/tree/master/src/main/java/com/mycompany/myapp/security

+0

您已經指出的示例應用程序在角度範圍內具有登錄表單的情況下看起來非常好。我非常喜歡http-auth-interceptor腳本的工作方式。但我試圖找到幾乎相同的概念,除了使用Siteminder等SSO概念實施Spring Security。那對於那裏的很多人來說是一個很大的幫助。謝謝 !真的很感謝你的工作:) – PavanSandeep