2011-01-19 73 views
1

我有我的分類基於某些角色,並使用URL授權不同的文件夾頁,例如我用下面的代碼在web.config中限制到管理的東西訪問:URL授權在ASP.NET中足夠安全嗎?

<configuration> 
    <system.web> 
    <authorization> 
     <allow roles="Admin" /> 
     <allow roles="SuperAdmin" /> 
     <deny roles="Member" /> 
     <deny users="?"/> 
    </authorization> 
    </system.web> 
</configuration> 

我的問題是:那足夠安全? 或者我需要做一些其他的事情:在每個用戶想要做管理的事件中,我應該檢查他們是否在適當的角色?

編輯: 我使用「窗體身份驗證提供者」和「ASP.NET成員資格提供」用於身份驗證的用戶和會員,而且據我所知它是安全

+0

這是否足夠安全是一個非常相對的問題。我不是一名asp.net程序員,但之前曾在安全方面工作過,而且我非常確定某些安全專家會在您的應用程序中找到整體。對於初學者來說,你的認證框架是什麼。 (理想情況下應該使用LDAP綁定等技術作爲過濾器來實現)。用戶角色是否被填充爲認證機制的一部分? – 2011-01-19 07:55:17

回答

1

這不只是覈實,沒有用戶是得到任何她未被授權的頁面。由於您在業務層中執行了大量業務任務,因此您還需要檢查那裏的自動化。

大部分時間你不能避免在裏面檢查幾個時間這個頁面,因爲頁面通常會傳遞不同的內容,這取決於低權限用戶或高權限用戶請求他們。

一般而言,您將不得不爲自己的每一條信息做出自己的決定 - 是否可以?如果它不是一般的公共信息:想想,你怎麼能有效地限制它?基於ASP.NET成員資格類的授權方案是一個很好的基礎。