2016-03-01 120 views
0

我想實現安全的管理區域只有該網站的管理員能夠訪問該區域,而不是普通用戶。春季Web MVC管理區域安全

爲此目的。我創建了包含類對象的會話。下面是代碼

User.java

public class Users 
{ 
    private int userID; 
    private String username; 
    .. 
    .. 
    private String userType; 

    // getters and setters 
} 

在可變的用戶類型,這將是本adminuser。現在User類的對象將被存儲在會話變量中。

每當我參觀

http://localhost:8080/myproject/admin 

然後我檢查

if(((Users)session.getAttribute("session_user")).getUsetType().equals("admin")) 
{ 
    // Visit admin home page 
} 

這是足以防止訪問管理區域正常/調皮的用戶,如果沒有,我還有什麼可怎麼辦?

回答

3

這不會是一個很好的解決方案,我會建議你有Spring security documentaion。有你有幾種方法來限制URL的樣子,你可以使用

<http use-expressions="true"> 
    <intercept-url pattern="/admin*" 
     access="hasRole('admin') /> 
    ... 
    </http> 

限制你的http://localhost:8080/myproject/admin網址

+0

我使用hibernate進行數據庫連接。我如何通過數據庫驗證用戶的身份? –

+0

http://websystique.com/spring-security/spring-security-4-method-security-using-preauthorize-postauthorize-secured-el/ –

+0

https://www.youtube.com/watch?v=mH2jx2RCu7o –

1

你標籤與春季安全,但它看起來不像你沒有使用它。我建議不要構建自己的安全機制,而是使用可用的框架,並且您可能希望爲應用程序中可用的角色添加基於角色的URL訪問。

請參考以下鏈接一旦你熟悉youself與基本覆蓋的基礎知識和例子 http://en.tekstenuitleg.net/blog/spring-security-with-roles-and-rights

,請更深入的Spring Security您實現生產代碼之前。