2012-05-18 24 views
0

後深谷歌搜索我沒有找到任何解決方案或方法來解決我的問題,所以在這裏提問。 在在同一溶液中的其它項目的web.config自定義角色提供不工作的IIS,但在VS開發服務器正常工作

...... 
    <location path="DevReg.aspx"> 
    <system.web> 
     <authorization> 
     <allow roles="C,csvImportExport"/> 
     <deny users="*,?"/> 
     </authorization> 
    </system.web> 
    </location> 
....... 
    <system.web> 
    <roleManager enabled="true" defaultProvider="MyRoleProvider"> 
     <providers> 
     <clear /> 
     <add name="MyRoleProvider" type="DataAccess.Common.MyRoleProvider, DataAccess" applicationName="myapp" /> 
     </providers> 
    </roleManager> 
    </system.web> 
....... 

主Web應用程序的第一部分。 當我在Visual Studio提供程序中運行應用程序時必須運行良好 - 授權工作,我也可以從代碼調用我的提供程序(例如IsUserInRole返回正確的結果)。但部署到本地IIS(Win 7/IIS 7.5)後。我嘗試了VirtualDirectory和WebApp,但沒有運氣。

當我在IIS中運行的應用程序看起來像服務器從不使用角色提供程序,只有呼籲開始和新的更多的初始化方法。

請給我正確的方向來解決這個問題,如果需要,我會表現出更多的細節。

+0

什麼是您的應用程序池設置? –

+0

當你在IIS vs本地主機上使用不同的數據庫嗎? – peroija

+0

@KrishanuDey應用程序池默認情況下,我只作一個改變其允許32位應用程序運行,因爲我的主人64位 – sage444

回答

0

創建一個新的Application PoolManaged Pipeline Mode設置爲Integrated。將Identity的值設置爲NetworkService。在此之後,將新創建的Application Pool設置爲該網站的Application Pool

+0

感謝您的回覆,這沒有改變,但你能提供一些關於你的建議的解釋,這可能讓我有點研究 – sage444

0

改變的觀點後,我發現這個問題。在項目中,我們還使用一個醜陋的HttpHandler:Context.SkipAuthorization = true;,這使我所有的麻煩。

相關問題