2012-03-27 16 views
1

MVC3のWebサイトが開発サーバーに公開されています。このウェブサイトは 匿名以下のように設定されているため、認証 - 無効 Windowsは - 私は私のウェブサイトでフォーム認証を使用しMVC3でweb.configの場所が動作しない

を有効 - 有効 偽装 - フォームを可能にしました。 Contentフォルダへの匿名アクセスを許可するには(ここではすべての画像、スタイルを使用できます)、ルートweb.configファイルにロケーションタグを追加しました。

画像http://devserver/website/Content/images/logo.pngにアクセスしようとすると、ログインページにリダイレクトされます。

IISで匿名を有効にすると、画像にアクセスできます。 そうでなければ。しかし、匿名アクセスが有効になっている場合は、ローカルにログインしているユーザー名をユーザー名のテキストボックスに直接表示することができないため、これを実行したくありません。

私はまた、以下の内容のコンテンツフォルダ内の

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.webServer> 
    <validation validateIntegratedModeConfiguration="false" /> 
    <handlers> 
     <remove name="BlockViewHandler" /> 
    </handlers> 
    </system.webServer> 
</configuration> 

とweb.configファイルを追加しようとしました。これも役に立たないようです。助言がありますか?

設定しています匿名 - 匿名で私のウェブサイトにアクセスできる唯一の方法を有効にしました。

同様の構成のASP.net Webサイトがあります。 1.匿名 - 無効 - Windows - 有効、偽装 - 有効 2.ルートweb.configファイルの場所タグ。 と完全に動作します。

なぜ私はMVC3で動作しないのか分かりません。他のPHP MVC3フレームワークのように、いくつかのファイルタイプの除外(* .css、* .jpg、* .png)を追加することはできますか?

答えて

0

匿名のリクエストを有効にすることをおすすめします。

ASP.NET MVCでページを保護する必要がある場合は、[Authorize]属性を使用する必要があります。コントローラーまたはアクション宣言に配置できます。

例:

[Authorize] 
public class HomeController : Controller 
{ 
    // All actions will be authenticated 
    ... 
} 

public class HomeController : Controller 
{ 
    public ActionResult EveryoneAllowed() {...} 

    [Authorize] 
    public ActionResult OnlyAuthenticated() {...} 
} 
関連する問題