2011-10-05 105 views
0

我有一個自定義角色提供程序與標準的asp網站地圖和菜單控件一起工作,啓用了安全性啓用,菜單項成功消失/重新出現,因爲我修改web.config如下:SecurityTrimming,自定義角色提供者和服務器500錯誤:(

<location path="x/y/z.aspx"> 
     <system.web> 
      <authorization> 
       <allow roles="a, b, c" /> 
       <deny users="*" /> 
      </authorization> 
     </system.web> 
</location> 

但不幸的是,每當我訪問這樣一個頁面,我表現的十分基本的「500 - 內部服務器錯誤」

如果我刪除從配置上面的紋路,不會發生這樣的錯誤(但每個人都可以訪問該頁面!)

這可以做我的自定義角色提供者嗎?它似乎與其他一切工作!我只重寫了IsUserInRole和GetRolesForUser函數(所有其他必需的函數,我什麼都不返回或空數組等)。

謝謝! :)

編輯:

我敢肯定這是不是我的自定義roleprovider導致錯誤..我有在我的web.config別處以下。

<location path="." inheritInChildApplications="false"> 

我的配置的大部分是在本節中舉行的想法是,我所有的appSettings,的sessionState,身份驗證選項等將不會繼承到其他應用程序,在IIS中設置但被子文件夾中舉行我現在正在開發的應用程序。也許這個'位置'內部有些部分沒有被轉移到其他「位置」(儘管它們不是兒童應用程序..!),令人困惑的是securityTrimming確實有效......無論如何,移動內容在該部分之外的上述「位置」,一切都再次起作用!有兩種世界的最好方法嗎?

+0

我編輯了更多的信息.​​.我相信它不再是一個特別的角色提供者/修剪問題..不知道是否要完全重新編輯,發佈一個新問題,或保持現狀。感謝所有的幫助。 –

回答

0

關閉瀏覽器中的友好錯誤消息以查看實際問題。

+0

我有,錯誤信息不是一個自定義的,所以我想也許這個問題是特別低級..或什麼的..! –

+0

@Tabloo Quijico - 關閉友好錯誤消息時,瀏覽器中顯示的錯誤消息是什麼? – DaveB

+0

500 - 內部服務器錯誤。看起來就像這個隨機圖像,我在互聯網上找到.. http://www.ecommy.com/wp-content/uploads/2009/08/500-Internal-server-error2.png謝謝:) –

相關問題