2017-07-06 10 views
0

私はWindows認証を使用するasp.net MVC Webサイト(4.5.1)を持っています。私は特定のADセキュリティグループのユーザーにアクセスを許可しています。そのAD Secグループには、自分のSQL DBに対する読み取りアクセス権もあります。私の問題は、そのグループのユーザーが自分のサイトのルートURLにアクセスしようとすると、401アクセス拒否エラーが発生することです。ただし、ページに直接アクセスすると(ルートページが読み込まれる同じページ)、アクセスできますが、問題はありません。ユーザーがルートリンク経由で自分のウェブサイトにアクセスできないのはなぜですか?

website.com/orgbrowser - > 401エラー

website.com/orgbrowser/home - >エラーなし

website.com/orgbrowser/home/search - >エラーなし

マイrouteconfigはデフォルトで/ home/searchをロードします。管理者ユーザーにはエラーは発生せず、website.com/orgbrowserにアクセスすると、/ home/searchが正しく表示されます。

public static void RegisterRoutes(RouteCollection routes) 
    { 
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

     routes.MapRoute(
      name: "Default", 
      url: "{controller}/{action}/{id}", 
      defaults: new { controller = "Home", action = "Search", id = UrlParameter.Optional } 
     ); 
    } 

web.configファイルで私のセキュリティのセットアップ:

<system.web> 
    <compilation targetFramework="4.5.1" /> 
    <customErrors mode="Off" /> 
    <httpRuntime targetFramework="4.5.1" /> 
    <authentication mode="Windows" /> 
    <authorization> 
    <allow roles="ADSec Group Name"/> 
    <deny users="*" /> 
    </authorization> 
</system.web> 

私は私のルートの設定(またはどこか他の私のasp.netコード内)で何か間違ったこと、またはこれは多分あるアムIISまたはSQLのセキュリティ設定に問題がありますか?

編集:私は、ADセキュリティグループに、ウェブページを含むサーバー上のフォルダに対する読み取りアクセス許可を与えました。今それは動作します。ユーザーに明示的にその権限を与える必要がありますか?私はちょうどアプリケーションプールユーザーを追加する必要はありません、そして、Webアプリは許可を扱いますか?

+0

ここに他のものがあるはずです。おそらくルートに 'default.aspx'や' index.aspx'ファイルがありますか? – DavidG

+0

いいえ、それらのファイルはありません –

+0

「ホーム」はあなたのコントローラだと思われますが、orgbrowserとは何ですか? – Krishna

答えて

0

解決策は、Windowsサーバー上の私のWebページのフォルダに対するADセキュリティグループの読み取りアクセス許可を明示的に与えることでした。私はこれが本当に満足していない、私はこれを解決する必要があると思うので、アプリケーションプールのユーザーにこれらの権限を与えるが、それはうまくいきませんでした。

関連する問題