認証モードが「windows」の場合、MVC で customAuthorization を実行しようとしています。
public override void OnAuthorization(AuthorizationContext filterContext)
{
#region if
if (HttpContext.Current.User.Identity.IsAuthenticated)
{ .......}
}
しかし、常に IsAuthenticated は false を返します。onAuthorization(..) の前に Windows 認証を呼び出す方法がわかりません。
しかし、私がこれを好きなとき:
public override void OnAuthorization(AuthorizationContext filterContext)
{
#region if
if (HttpContext.Current.User.Identity.IsAuthenticated)
{ .......}else{
**base.OnAuthorization(filterContext);**
}
}
base.onAuthorization() が原因で onAuthorization() メソッドが繰り返しヒットしており、2 回目の試行では IsAuthenticated が true を返しています。
この動作の理由を知ることができますか?
グーグルで検索すると、フォーム認証モードでは IsAuthenticated が true になるが、Windows モードでは true にならないという結果が表示されました。以下のリンクで述べたように
http://www.anujvarma.com/windows-ad-authentication-and-the-authorize-attributelogin-popup/
私を助けてください。