Mono 2.8.1 環境で、Basic および Digest 認証用 HTTP モジュールを試してみた。
上記リンク先下半分に記載されている情報を参考にした訳だが、不備もあったりしたので、ちょっと修正したイカの設定で試してみた。
Basic 認証
web.config: 必要な部分を抜粋- <?xml version="1.0"?>
- <configuration>
- <system.web>
- ...
- <authentication mode="None">
- </authentication>
- <authorization>
- <allow roles="testers"/>
- <deny users="*" />
- </authorization>
- ...
- <httpModules>
- <!-- For Basic Authentication -->
- <add name="BasicAuthenticationModule" type="Mono.Http.Modules.BasicAuthenticationModule, Mono.Http, Version=2.0.0.0, PublicKeyToken=0738eb9f132ed756" />
- </httpModules>
- ...
- </system.web>
- <appSettings>
- <!-- Set the value to "Basic" or "Digest" -->
- <add key="Authentication" value="Basic" />
- <!-- For Basic Authentication -->
- <add key="Basic.Users" value="/path/to/users.xml" />
- <add key="Basic.Realm" value="My Realm" />
- </appSettings>
- </configuration>
users.xml: こんな感じ
- <?xml version="1.0" encoding="utf-8"?>
- <users>
- <user name="nobita" password="password">
- <role name="users" />
- </user>
- <user name="sta" password="password">
- <role name="admins" />
- <role name="testers" />
- <role name="users" />
- </user>
- <user name="tiger" password="password">
- <role name="testers" />
- <role name="users" />
- </user>
- </users>
MonoDevelop 2.4.1 上で、ASP.NET プロジェクトを作成して、実行した。
情報元では、web.config でのイカの記述が欠けており、
- ...
- <appSettings>
- <!-- Set the value to "Basic" or "Digest" -->
- <add key="Authentication" value="Basic" />
- ...
- </appSettings>
- ...
HTTP モジュールを内包している Mono.Http アセンブリについては、Mono 2.8.1 では、イカのように GAC に存在しており、
$ gacutil -l | grep Mono.Http Mono.Http, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756 Mono.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
xsp2(ASP.NET 2.0/3.5 プロファイル)用としては、Version=2.0.0.0 の方を使用すればいいだろう。
Digest 認証
web.config: これ以外は、Basic 認証用設定と同様- <?xml version="1.0"?>
- <configuration>
- <system.web>
- ...
- <httpModules>
- <!-- For Digest Authentication -->
- <add name="DigestAuthenticationModule" type="Mono.Http.Modules.DigestAuthenticationModule, Mono.Http, Version=2.0.0.0, PublicKeyToken=0738eb9f132ed756" />
- </httpModules>
- ...
- </system.web>
- <appSettings>
- <!-- Set the value to "Basic" or "Digest" -->
- <add key="Authentication" value="Digest" />
- <!-- For Digest Authentication -->
- <add key="Digest.Users" value="/path/to/users.xml" />
- <add key="Digest.Realm" value="My Realm" />
- </appSettings>
- </configuration>
0 件のコメント:
コメントを投稿