2017-02-22 7 views
4

に特定のURLへの匿名アクセスを許可します。このサイトはIIS 7.5上でPHPを実行している、と次のようにサイトへのアクセスは、web.configファイルを経由して、Active Directoryのグループに制限されていますは、web.configファイル

<security> 
    <authorization> 
     <remove users="*" roles="" verbs="" /> 
     <add accessType="Allow" roles="DOMAIN\AD-GROUP" /> 
    </authorization> 
</security> 

唯一のURL書き換えはほとんどのURLをindex.phpに送信することです。その後、CodeIgniterはそれ以降のルーティングを処理します。

特定のURLパターンがあり、特定のActive Directoryグループ以外のユーザーに公開する必要があります。これはファイルではありません。<location>タグが使用されていると思います。 URLに基​​づいている必要があります。

追加コンテキスト:これは、単一ページ/ AngularJSアプリケーションのURLパターン用です。例:プロジェクト管理アプリケーションでは、アプリケーションのユーザーはタスクを作成したり、ファイルをアップロードしたり、メモを投稿することができます(例:http://domain/#/project/1234/tasks)。これらのユーザーはすべてAD-GROUPグループに属しています。各プロジェクトには、組織内の非ユーザ(http://domain/#/project/1234/public)に提供できるプロジェクトの種類の表紙ページがあります。彼らはその特定のADグループに所属しませんが、そのページを表示する必要があります。

URLのハッシュに基づいているので、これはweb.configで可能ですか?そうでない場合は、web.config以外のADグループに基づいて制限する別の方法は何ですか?

答えて

1

私は<location>はまだ行く方法だと思います。 https://www.iis.net/learn/get-started/planning-your-iis-architecture/deep-dive-into-iis-configuration-with-iis-7-and-iis-8のドキュメントによると、パスはローカルファイルだけではありません。

ロケーションタグの主な属性は「パス」です。値が指定できます

...

  • 「サイト名/アプリケーション/仮想ディレクトリ」:特定のサイトの特定のアプリケーションの特定の仮想ディレクトリ。
+0

私はこれを動作させることができませんでした。正規表現をパスとして入力しようとすると、無効な文字に関するエラーが発生します。 –

+0

@ MelissaAvery-Weir、はい、これはRegExpで一致するパスで動作するようには設計されていません。 URLに固定プレフィックスを付けることができない場合、次の最も簡単な解決策は[URL書き換えモジュール](https://www.iis.net/downloads/microsoft/url-rewrite)をインストールしてすべてのURLを接頭辞 - 物理フォルダにマップし、そのフォルダの 'location'を設定します。 – SergGr

+0

すべての着信URLは、ルーティングを駆動するためにすでにCodeIgniter用の 'index.php'ファイルにマップされています。さらなる研究では、これが私が望むよりも可能性が低いことを示唆しています。セキュリティ例外を必要とするURLは、URLのハッシュ部分にあります(AngularJSの場合)。私はハッシュがサーバーにそれを作るとは思わない。それらのURLを書き換えることはできません。 –

関連する問題