2015-06-16 80 views
-1

我一直在嘗試這從最近兩天。我沒有得到什麼問題。我搜索了網頁,但沒有找到任何解決方案。我嘗試了IIS的所有設置,例如「移動協商,禁用其他身份驗證」,但不起作用。所以這裏是我的問題: 我有一個Intranet Web應用程序在ASP.NET中使用用戶名和密碼存儲在Active Directory中。我的應用程序中有五個不同的頁面。所有頁面都與它們的web.config文件一起存儲在一個單獨的文件夾中。這些web.config文件具有允許像這樣查看該頁面的用戶的名稱。IIS和Windows身份驗證不允許錯誤頁面

<authorization> 
<allow users="Domainname\username"/> 
</authorization> 

我想重定向那些誰在上面的列表中其他錯誤頁面,相應的消息不是用戶。我用這個

保護無效Application_EndRequest(對象發件人,EventArgs的) {

 if (HttpContext.Current.Response.Status.StartsWith("401")) 
     { 
      HttpContext.Current.Response.ClearContent(); 
      Response.Redirect("~/myerrorpage.aspx?myerrormsg=you are not allowed"); 
     } 

這是工作在本地主機,但是當我把我的應用程序在IIS中,因爲這一切授權用戶(那些誰在列表中)也重定向到錯誤消息頁面。

當我從IIS中刪除它時,它正在工作,但我無法將未經授權的用戶重定向到錯誤消息頁面。我也嘗試使用IIS的錯誤頁面設置,但遇到同樣的問題。

請問我該怎麼辦?有沒有其他方法可以做到這一點?

回答

0

如果您使用的是Windows身份驗證,那麼你應該記住這mind- 如果手動啓用IIS中的Windows身份驗證,請不要包括下面的代碼在你的web.config

<authentication mode="Windows" /> 

,如果你使用這個,它會導致與我在我的問題中所述的相同的問題。