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 件のコメント:
コメントを投稿