2015-04-23 84 views
0

我正在構建一個使用spring-security保護我的應用程序和angular.js作爲clent側框架的MVC web應用程序。ui.router +彈簧安全 - 根據需要登錄時重定向

ui.router更改所選狀態下頁面的內容。 當用戶嘗試選擇指向他缺少訪問權限的頁面的頁面時,該問題就會出現,Spring會返回登錄頁面,並且ui.router會將登錄頁面插入到我的頁面正文中。

如果需要登錄,而不是將其插入到當前頁面,我實際上想要做的是重定向到登錄頁面。

我該如何達到目的?

+0

看來你在'spring'禁用認證requierement對特定頁面。 – frhd

+0

但是頁面應該只能被授權用戶訪問,未經授權的用戶基本上不應該在那裏導航選項,但是如果用戶會話過期,他可能會有按鈕指向已經顯示的頁面,但應該提示在訪問之前先登錄。 – Anhermon

+0

你有沒有試過'$ location.path('login')'?顯然,你需要注入'$ location'。 – frhd

回答

1

我創建了兩個不同的角度模塊,每個模塊都有他自己的路由。

兩個角模塊是:

1)的LoginModule(用他自己的UI-路由器配置,ES登錄,檢索密碼,忘記密碼等等...)

2)securedModule:對於被驗證

我創建的也可用於每個UI-路由器的入口點的兩個主要頁面

/登入 - > signIn.html - >(的LoginModule) - > UI-路由進行登錄
/SE現在你可以配置你的彈簧配置,並指定/ signIn作爲登錄頁面 和路徑/安全的認證。

這裏是我的春天的安全配置:

.antMatchers("/secured").hasAuthority("SP_LIGHT") 
.and().formLogin().loginPage("/signIn")