ASPNETメンバーシッププロバイダーを実装しましたが、Login1_LoggedIn
イベントで取得しようとしましMembership.GetUser()
たPage.Identity.User
が、両方ともnullを返しました。
フォームの変更など、他の人から提案されたさまざまな解決策を試しましpath="/"
たが、うまくいきませんでした。ただし、LoginName
コントロールは機能し、username
正しく表示されます。
誰かがその理由を知っていますか?
web.config で認証されていないユーザーを無効にしてみてください。
<authorization>
<deny users="?" />
</authorization>
HttpContext.Current.User は、次のように呼び出すまで生成されません。
FormsAuthentication.SetAuthCookie(UserName, False)
また
FormsAuthentication.RedirectFromLoginPage(UserName, False)
その理由がわかりました。ScottGu がブログ投稿で詳しく説明しています。