私はカスタム フォーム認証メンバーシップ プロバイダーとロール マネージャーを使用する WSS 3.0 サイト (MOSS なし) を持っており、リモート Web サービスに対してユーザーを認証します (ただし、現時点では moq データに対して機能します)。私の問題は次のとおりです。ログインしたユーザーの名前は、フルネームではなく、ログイン名として表示されます。
ユーザー名とフルネームの両方が保存されるようにプロバイダーを設定し、要求されたとき (GetUserByUsername など) にいずれかの値がフルネームをユーザー名として持つ MembershipUser オブジェクトを返すようにします。これにより、sharepoint のユーザー ピッカーでユーザーのユーザー名を入力すると、標準の Windows 認証と同様に、オート コンプリートによってユーザー名がフルネームに変換されます。
ただし、プロバイダーのブレークポイントを設定すると、サイトにログインするときにプロバイダーの ValidateUser メソッドのみが呼び出され、それらは改ざんされた MembershipUser オブジェクトの要求ではありません。コンテンツ データベースの UserInfo テーブルを見ると、ユーザー名 (tp_title) がログイン名に設定された新しいエントリが作成されています。
データベースに対して直接クエリを実行することはできませんが (実行するつもりはありません)、カスタム FBA ユーザー向けの使いやすいユーザー名をどのように設定すればよいかわかりません。助けていただければ幸いです。