問題タブ [asp.net-web-api2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
model-binding - WebApi2: 部分パラメーターをバインドするためのカスタム パラメーター バインディング
次のように、webApi2 プロジェクトと他のプロジェクトがあり、そこにはモデル クラスとすべてのモデルのベースである BaseModel があります。
他のすべてのモデルは、私の BaseModel から派生しています。
webapi には、次のように CustomerController があります。
CustomerController に送信されるすべてのリクエストには、リクエスト ヘッダーに「UserId」ヘッダーがあり、ModelBinder または ParameterBinder、または他のモデル パラメータに触れずにリクエスト ヘッダーから UserId のみをバインドする機能が必要です。UserId 以外のモデル パラメータはデフォルトでバインドされることを意味します。
AOP、インターセプター、またはアスペクトを使用したくありません。モデル バインダー、パラメーター バインダーなどの asp.net 機能で UserId のみをバインドすることは可能ですか?
authentication - API を呼び出しているユーザーの UserName を取得する方法は?
技術: ASP.Net Web API 2 認証。
IDE : Visual Studio 2013 で SPA テンプレートを使用しています。
ストーリー: 1 つの Get メソッド (コードを参照) を持つコントローラーを追加し、「System.Threading.Thread.CurrentPrincipal.Identity.Name」を出力するためにテストを実行しました。最終的なゲームは、API を呼び出すクライアントの ID を見つけることです。
質問: ID が空で表示されるのはなぜですか? 呼び出しが別のスレッドで処理されるという事実に関連していますか? トークン (クライアントがログイン時に受け取ったもの) はリクエストの一部であり、認証に使用されていますか?
わかりやすくするために短くまとめてみましたので、さらに詳しい情報が必要な場合はお知らせください。
わかりました、回避策を見つけました(解決策ではありません)。基本的に、この行「config.SuppressDefaultHostAuthentication();」を削除します。 http://forums.asp.net/p/1944393/5594350.aspx?Re+Web+API+2+how+do+I+find+the+identity+of+an+authenticated+user+
asp.net-web-api - MVC5 + WebApi2 認可を理解できない
OAuth の概念を知っています。ユーザーは許可タイプ、ユーザー名、パスワードを使用してサーバーにリクエストを送信し、サーバーでいくつかのチェックを行った後、ユーザーはアクセス トークンを受け取ります。私が理解できないのは、なぜ私がこれをしなければならないのかということです:
CreateIdentityAsync
戻るとは何ですか?とは何AuthenticationTicket
ですか? 何をしcontext.Validated
ますか?また、oAuthIdentity
なぜ私も使用する必要があるのcookiesIdentity
ですか? 最後に、アクセス トークンはどこで生成されるのでしょうか。
検索しましたが、これを説明しているウェブサイトが見つかりません。
c# - HttpRouteCollection からルートを削除する
WebAPI 2.0 に含まれる属性ルーティングを使用していますが、特定の条件に基づいてルートを削除する方法がわかりません。を使用してすべてのルートをマップMapHttpAttributeRoutes
し、次のコード行を使用して特定のルートを削除したいと考えています。
しかし、これはNotSupportedException
. ルートを削除するにはどうすればよいですか? そうでない場合、これを達成する別の方法はありますか?
asp.net-web-api - Web API との統合テスト - 非 InMemory テストまたは InMemory テスト -
Web API コントローラーで統合テストを行いたいと考えています。統合テストが開始されると、Web API の要求/応答パイプライン全体が処理され、実際の統合テストになります。
非 InMemory テストまたは InMemory テストに関するいくつかのブログを読みました。私は違いが何であるかを知る必要があり、それらのアプローチのどれが私の上記の基準に一致しますか?
セルフホスティングまたはIISホスティングのWeb APIでの統合テストを実際に扱った人々からの説明が本当にうれしいです(テストに違いがある場合...)
asp.net-web-api - JsonFormatter しか定義していませんが、wep API はどのように html のコンテンツ タイプを返しますか?
私の Application_Start で:
私のデフォルトの URL:
コンテンツはタイプです"text/html"
が、設定していませんがresponse.Headers.ContentType
、htmlコンテンツネゴシエーターのようなものはありませんが、htmlファイルは正しく返されますが、実際には、アクションがjsonとしてhtmlファイルを返すか、エラーが発生すると想定しましたが、すべてがうまくいきました。
何故ですか?