×

[PR]この広告は3ヶ月以上更新がないため表示されています。
ホームページを更新後24時間以内に表示されなくなります。

.net form-based 認証 その2

前回 の続きです。

test-xxx.net のとなりに test-yyy.net を作ります。いずれも .net form-based 認証を使います。

 

ユーザーを aspnetdb データベースに登録する

アプリ名: test-yyy.net

ユーザー名: user1 と user2

 

アプリケーション (IIS でいうサイト) を作る

 

認証プロバイダを変更する

今回 Form-based Authentication する web application の web.config

<!-- @@@ -->
<connectionStrings>
<add name="myConnection" connectionString="Data Source=(local)\sqlexpress;user id=sa;pwd=xxxxxxxxxxx;initial catalog=aspnetdb;" />
</connectionStrings>

<system.web>

<!-- @@@ -->
<membership defaultProvider="myMemberYYY">
<providers>
<remove name="myMemberYYY" />
<add connectionStringName="myConnection" passwordAttemptWindow="10" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="test-yyy.net" requiresUniqueEmail="true" passwordFormat="Hashed" description="" name="myMemberYYY" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</membership>

<!-- @@@ -->
<roleManager enabled="true" defaultProvider="myRoleYYY">
<providers>
<remove name="myRoleYYY" />
<add connectionStringName="myConnection" applicationName="test-yyy.net" description="" name="myRoleYYY" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</roleManager>

central admin web application の web.config。青色囲み部分を追記。

</SharePoint>
<!-- @@@ -->
<connectionStrings>
<add name="myConnection" connectionString="Data Source=(local)\sqlexpress;user id=sa;pwd=xxxxxxxxxxxxxx;initial catalog=aspnetdb;"/>
</connectionStrings>
<system.web>
<!-- @@@ -->
<membership defaultProvider="AspNetSqlMembershipProvider">
<providers>
<remove name="AspNetSqlMembershipProvider" />
<add connectionStringName="myConnection"
passwordAttemptWindow="10"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
applicationName="test-xxx.net"
requiresUniqueEmail="true"
passwordFormat="Hashed"
description="Stores and retrieves membership data from the Microsoft SQL Server database"
name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<!-- *** -->
<add connectionStringName="myConnection"
passwordAttemptWindow="10"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
applicationName="test-yyy.net"
requiresUniqueEmail="true"
passwordFormat="Hashed"
description=""
name="myMemberYYY"
type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</membership>
<!-- @@@ -->
<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider">
<providers>
<remove name="AspNetSqlRoleProvider" />
<add connectionStringName="myConnection"
applicationName="test-xxx.net"
description="Stores and retrieves roles data from the local Microsoft SQL Server database"
name="AspNetSqlRoleProvider"
type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<!-- *** -->
<add connectionStringName="myConnection"
applicationName="test-yyy.net"
description=""
name="myRoleYYY"
type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</roleManager>
<securityPolicy>

 

aspnetdb で管理している credential をシェアポに関連付ける

最初の二つはよいとして、三つ目は操作ミスしないように注意が必要だな。

 

入りましょう

user1 で入りましょう。mymemberyyy:user1 と aspnetsqlmembershipprovider:user1 のどちらになるでしょう?

入れました

mymemberyyy:user1 でした。

aspnetsqlmembershipprovider:user1 だと入れません。

 

次回は・・・

 

時計を見ると6時39分。今の仕事は面白くないけど職場に行くとするか・・・


[Tips]HiRDBと.NETを接続するには?

HiRDB 懐かしすぎる !!!

ストアド プロシージャにコメント書けなかった (行頭 -- や /* */ 囲み、等でのコメント記述が出来なかった) り、プリプロセッサ(?) 使って .c のソースコード生成したり・・・

VC++ 6 の IDE でビルドしたらプリプロセッサ動くようにしたり・・・

(ストアド プロシージャは使いませんでした。動くかどうかすら試していません)

 

HiRDB.NETデータプロバイダを使用したUAP例

UAP って言葉、久しぶりだ。

サンプルコード見る限り、まんま C# で違和感無いのがスバラシイ。

マニュアルといいますか、ドキュメントがしっかりしてるのが(私が持つイメージ→)日立らしくて good。

今やってる仕事はそのあたり(やその周辺も)ダメダメで相手してると嫌になってくる。(笑)