我正在開發一個ASP MVC3應用程序,我有一些與網頁安全相關的視圖(主要是創建用戶和組)。此頁面僅供本地網絡內的人員使用,即使他們需要使用其用戶和密碼進行訪問,我想阻止那些正在使用網絡外部應用程序的人員作爲附加安全措施訪問它們。ASP MVC:有沒有辦法讓一些視圖/頁面只能從本地網絡訪問?
這可能與IIS和ASP MVC3?
我正在開發一個ASP MVC3應用程序,我有一些與網頁安全相關的視圖(主要是創建用戶和組)。此頁面僅供本地網絡內的人員使用,即使他們需要使用其用戶和密碼進行訪問,我想阻止那些正在使用網絡外部應用程序的人員作爲附加安全措施訪問它們。ASP MVC:有沒有辦法讓一些視圖/頁面只能從本地網絡訪問?
這可能與IIS和ASP MVC3?
是的,你可以使用web.config中限制訪問的IP地址的路徑。
例如:
<location path="/localOnly/">
<system.webServer>
<security>
<ipSecurity allowUnlisted="false">
<clear/>
<add ipAddress="127.*.*.*"/>
<add ipAddress="1.*.*.*"/>
<add ipAddress="192.*.*.*"/>
</ipSecurity>
</security>
</system.webServer>
</location>
所以只檢查上本地子網您的網站正在運行,並添加它。
編輯:我假設你已經有"even though they need to access with their user and password"
部分只要使用默認的MVC的東西的權利進行管理?
如何是你的用戶的簽名嗎?你能分配你的用戶角色並阻止某些角色訪問某些視圖嗎?
基於從@Ron Sijm的答覆意見,看起來你想要做這樣的事情。
分配一個角色,需要額外的接入(例如管理員)的用戶,然後使用Authorize屬性上需要這個角色的行動:但是
[Authorize(Roles = "Admin")]
public ViewResult SecureAction()
{
}
這需要一個角色提供商。既然你已經有角色管理,我強烈推薦實施custom role provider。
您需要使用Membership/Roles API。請參閱http://stackoverflow.com/questions/5874239/best-approach-to-user-roles-with-an-intranet-application。 – jrummell 2011-12-20 13:44:38
但我更容易使用web.config。我沒有使用Membership /角色API,因爲,在這個系統中的安全的處理已經從傳統的系統,沒有與它融合得非常好 – groovejet 2011-12-20 15:37:08