2017-02-24 6 views
0

Membership.GetUser(User.Identity.Name).Emailメソッドを使用して現在のユーザーの電子メールアドレスを取得しようとしていますが、メソッドの戻り値を宣言して変数に代入します ここに私のコード行がありますstring userEmail = Membership.GetUser(User.Identity.Name).Email;現在ログインしているユーザーの電子メールアドレスがタイムアウトしています

私はusernameパラメータの有無にかかわらずこのコードを試しました。私はまた、ユーザーが認証されているかどうか最初にチェックしようとしましたが、一度それがタイムアウトすると、私は別の方法から完全にやってみました。

注:のWindows認証がWebアプリケーションで使用されている

+0

データベース接続が壊れていないかどうかを確認します。 –

答えて

1

MembershipがASP.NETメンバーシップではなく、アイデンティティからです。

var user = UserManager.FindById(User.Identity.GetUserId()); 

はその後、あなたがそのユーザーオブジェクトをオフEmailプロパティにアクセス:あなたが使用する必要があります。

UPDATE

私は[asp.net-アイデンティティ]タグの使用によってスローました。しかし、すべての点で同じことが適用されます。 Membershipは、Windows認証とはまったく異なる認証システムからのものです。 Windows認証を使用する場合、ユーザー情報はADから取得されるため、追加情報が必要な場合は、UserPrincipalの内線番号を追加するだけです。 my answer in this related questionを参照してください。

+0

多くのおかげで@Chris Prattこれは多くの助けになりました、実際に私の組織の既存のADサービスがあります、私はちょうどすべてのADユーザーの関連情報を取得するためにそれを使用した、あなたは正しい方向に私を指摘答えた – Ronny

関連する問題