2011-01-05 12 views

答えて

0

IISのサイトレベルでWindows認証を設定する必要があるため、これは可能ではないと思います。この機能のために2つの別個のWebアプリが必要になります。

3
[Authorize] 
public class MyController : Controller 
{ 
    public ActionResult Index() 
    { 
    return View(); 
    } 
} 

MyController上のすべてのアクションのための許可が必要になりますが、[Authorize]属性を持っていないものは、公にアクセス可能でなければなりません。

また、web.configでWindows認証を設定する必要があります。

<authentication mode="Windows"/> 

This link may be helpful.

編集

あなたが同じサイト内のWindowsとフォーム認証の両方を使用する必要がある場合、別のアプリケーションを作成するために必要であるべき唯一の時間がある - 例えば、ユーザーがフォーム認証を必要とする場合は、ディスカッションフォーラムではなく、管理者エリアのWindows認証を使用します。認証方法はアプリケーションレベルで設定されており、上書きすることはできないため、Windows認証が必要なアプリケーションの部分をIISの別のWebアプリケーションと仮想ディレクトリに分割する必要があります。

+0

私は実際にそれを試みましたが、Windows認証を使用するようにweb.configを変更すると、すべての要求([Authorize]がない場合でも)にログインするように求められます。特定のルートまたは何かに対する認証の有効範囲を決める方法はありますか? –

+0

あなたはルート... hmmmでそれをすることはできません。おそらく必要なweb configのdeny = ...属性があります。見せて。 –

+0

コントローラーの代わりにアクションに[Authorize]属性を設定できませんか?それともMVC3だけですか? –

関連する問題