2012-09-22 65 views
1

我有一個項目,現在已經很長一段時間一直在使用ASP.NET Web窗體,並且安全方案讓我們拒絕根web.config中的所有用戶,並允許用戶根據web.config中的某些文件夾中,像這樣的網站的具體領域:混合的Web窗體和mvc4應用程序的授權

<!-- Root Web.config --> 
<authorization> 
    <deny users="*" /> 
</authorization> 

<!-- ~/Admin Web.config --> 
<authorization> 
    <allow roles="AdminRole" /> 
    <deny users="*"/> 
</authorization> 

我加入MVC4這個項目,我原來的理解是,授權是通過屬性來控制像這樣:

[Authorize(Roles="OtherSectionRole")] 
public class OtherSectionController : Controller 
{ ... } 

這似乎不起作用,即使當我使用Roles="*"。只有當我刪除根web.config deny *我可以打控制器操作。我錯過了什麼嗎?我寧願不刪除在根級別的全部授權以獲得MVC的工作。提前致謝!

回答

0

我們不得不做一些類似的事情,而我們最終扭轉了局面。我的意思是,我們將傳統的asp.net網站作爲mvc應用程序的子應用程序,而不是其他方式。在mvc應用程序中,我們將登錄頁面的配置(我們正在使用這些網站的成員身份)設置爲遺留網站中的頁面,然後我們將遺留網站的web.config保持原樣。