2013年1月19日土曜日

WebMatrix2で統合Windows認証

Microsoft WebMatrix2を使い、ASP.NET(Razor)だとライトに開発出来て非常に良いと思います。
また、Visual Studio 2012 Expressを事前にインストールしておくと、行き来が出来て便利な組み合わせだと思います。

さて、表題の件について日本語の情報が少なかったので記載します。

やるべき事:

・IIS Express設定で、
  Windows認証:有効
  匿名認証:無効
  マネージパイプライン:クラッシック

     Visual Studio 2012 Expressでサイトを選択し、F4キーでプロパティを表示
  そこで設定が出来ます。

  ちゃんと設定されていれば、以下の様に、
  該当のWebアプリケーションのセクションに設定が記入されます。
  
    %ユーザー%\Documents\IISExpress\config\applicationhost.config
       
    location path="サイト名"
        system.webServer
            security
                authentication
                    windowsAuthentication enabled="true" /
                    anonymousAuthentication enabled="false" /
                /authentication
            /security
        /system.webServer
    /location
           

・アプリケーションの設定ファイル(Web.config)
 こちらは、以下の様に自分で設定します。


configuration
 appSettings
    add key="EnableSimpleMembership" value="false" /
  /appSettings
  system.web
    authentication mode="Windows" /
    authorization
      deny users="?" /
    /authorization
  /system.web
/configuration

・ cshtmlファイルでの確認コード
 認証されたユーザー情報が以下で取得される。
 @Context.User.Identity.Name