2017-02-09 10 views
0

私はasp.net web apiプロジェクトを使用しています。私はExceptionFilterAttributeを追加しました。asp.netのExceptionFilterAttributeでuserId情報を取得するweb api

public class ExceptionFilter : ExceptionFilterAttribute 
    { 
     public override void OnException(HttpActionExecutedContext context) 
     { 
       //How to get user id. 
     } 
    } 

私のプロジェクトでは、匿名認証を有効にしました。 HttpContext.Current.User.Identity.Name;を使用してuserIdを取得しようとしていますが、値は常に空の文字列です。 userIdを取得するためにナゲットパッケージを含める必要がありますか?

場合によっては、モバイルクライアントからリクエストを受けることがあります。その場合、userIdを確認するにはどうすればよいですか?モバイルクライアントからのリクエストはどうすれば見つかりますか?

答えて

0

まず、userIdをを取得するための正しい構文は次のとおりです。もっと重要な

HttpContext.Current.User.Identity.GetUserId(); 

、どのように匿名認証のためのuserIdを得ることができますか? userIdを取得するには、ユーザーを認証する必要があります。匿名認証を無効にし、Windows認証を有効にする必要があります。

あなたはまた、Asp.Identity UseManagerで行く、などのuserIdを取得することができます:

RequestContext.Principal.Identity.GetUserId(); 
関連する問題