2016-05-13 81 views
0

我試圖限制文件夾的訪問使用下面的Web.config文件只允許用戶與管理員角色的訪問:Web.config文件似乎並沒有影響到服務器

<configuration> 
    <system.web> 
     <authorization> 
     <allow roles="Admin"/> 
     <deny users="*"/> 
     </authorization> 
    </system.web> 
</configuration> 

該文件位於下子目錄「Views/Admin /」。我有另一個文件位於「Views/Admin/Main /」下,只有管理員才能訪問(基於上述規則),但所有測試用例都允許任何匿名用戶訪問該文件。我目前只使用本地主機,以防有所作爲。

問題是,任何用戶都被授予對這些文件的訪問權限。爲了識別Web.config文件,是否需要執行額外的步驟?

我目前通過一個「管理員」按鈕訪問該頁面,這錯誤地允許任何用戶訪問管理頁面(請注意,我也有代碼隱藏此管理按鈕,當用戶不是一個管理員似乎工作):

<li>@Html.ActionLink("Admin", "Admin", "Admin")</li> 

使用下面的Web.config文件仍然允許用戶訪問的網頁,這讓我覺得很簡單,一路上我錯過了一個額外的步驟(請注意,即使不是管理員應能夠使用這些規則訪問頁面):

<configuration> 
    <system.web> 
     <authorization> 
     <deny users="*"/> 
     </authorization> 
    </system.web> 
</configuration> 

任何想法我做錯了什麼?

+0

告訴我們你的代碼 – Baahubali

+0

[asp.net授權 - 拒絕所有登錄頁面之前登錄](http://stackoverflow.com/questions/17567902/asp-net-authorization-deny-all-before-login-除了註冊頁面/ 17568891#17568891)可能有幫助 – Satpal

回答

0

爲什麼不使用內置的ASP.Net身份機制在控制器中使用[Authorize]屬性?

https://www.asp.net/web-api/overview/security/authentication-and-authorization-in-aspnet-web-api

還是我完全誤解了問題?

+0

嗯,我不知道。我剛剛在這裏和那裏繼續教程,它所描述的所有內容都是創建Web.config文件,就好像它可以獨立運行一樣。我會看看這篇文章,看看它是否有幫助。 – Colton

+0

請嘗試按照我鏈接到您的文章中的提示,它包含正確的方式來授權ASP.Net訪問99%的所有需求:) –

+0

是否使用了Web.config廢棄呢?我仍然想知道爲什麼Web.config路由不起作用。但是,是的,使用授權在第一次嘗試上做了伎倆,謝謝。 – Colton

相關問題