by kusakari
21. 7月 2009 18:51
BlogEngineでActiveDirectory認証を行ってみたいと思います。
※今回実験するBlogEngineのバージョンは、「1.5.0.7」を使用しています。
設定は下記のサイトを参考にさせて頂いています。
http://www.dscoduc.com/post/2008/01/16/Active-Directory-for-BlogEngineNET-Membership-Provider.aspx
■1.
Web.configを開きます。
■2.
下記のように「ConnectionStrings」部分を書き換えます。
<connectionstrings> <clear> <add name="LocalSqlServer" connectionstring="dummy" /> <!-- Mono complains if LocalSqlServer isn't specified --> <add name="BlogEngine" connectionstring="Data Source=MySQLServer;User ID=user;Password=password;persist security info=False;initial catalog=BlogEngine;" providername="System.Data.SqlClient" /> </clear> </connectionstrings>
|
を、下記のように書き換えます。
<connectionstrings> <clear> <add name="LocalSqlServer" connectionstring="dummy" /> <!-- Mono complains if LocalSqlServer isn't specified --> <!-- <add name="BlogEngine" connectionString="Data Source=MySQLServer;User ID=user;Password=password;persist security info=False;initial catalog=BlogEngine;" providerName="System.Data.SqlClient" /> --> <add name="ADConnectionString" connectionstring="LDAP://YOURDC.DOMAINNAME.LOCAL/DC=DOMAINNAME,DC=LOCAL" /> </clear> </connectionstrings> |
下記の部分に関しては、それぞれのAD環境に合わせて書き換えてください。
LDAP://YOURDC.DOMAINNAME.LOCAL/DC=DOMAINNAME,DC=LOCAL
■3.
次に、Web.Configから下記の部分を探して書き換えます。
<membership defaultprovider="XmlMembershipProvider"> <providers> <clear /> <add name="XmlMembershipProvider" type="BlogEngine.Core.Providers.XmlMembershipProvider, BlogEngine.Core" description="XML membership provider" passwordformat="Hashed" /> <add name="SqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionstringname="BlogEngine" applicationname="BlogEngine" /> <add name="DbMembershipProvider" type="BlogEngine.Core.Providers.DbMembershipProvider, BlogEngine.Core" passwordformat="Hashed" connectionstringname="BlogEngine" /> </providers> </membership> |
を、コメントアウトして代わりに下記の内容を追加します。
|
<membership defaultprovider="MyADMembershipProvider"> <providers> <add name="MyADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionstringname="ADConnectionString" attributemapusername="sAMAccountName" enablesearchmethods="true" /> </providers> </membership>
|
■4.
さらに、Web.Configから下記の部分をコメントアウトします。
| <add name="SqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionstringname="BlogEngine" applicationname="BlogEngine" /> |
■5.
「\App_Data\roles.xml」ファイルを開きます。
「Administrators」、「Editors」の2つのロールに応じて、ドメインユーザーアカウントのユーザーログオン名を含めた要素を追加します。
例えば、ドメインユーザーアカウント「kusakari」を「Editors」ロールに追加したい場合は、下記のようになります。
<roles> <role> <name>Administrators</name> <users> <user>Admin</user> </users> </role> <role> <name>Editors</name> <users> <user>mads</user> <user>kusakari</user> </users> </role> </roles> |
■6.
以上の設定でAD認証が通るようになります。
aafe4f32-2cfa-49e0-a9d8-44b91e41d091|0|.0