ここにいくつかの背景があります!
デフォルトのイントラネット テンプレートを使用して小さな Asp.Net MVC 4 イントラネット サイトを開発し、Windows Authentication. Web Api Controllerまた、サイトのページから JQuery を使用してアクセスするいくつかの REST サービス メソッドを追加して記述しました。には次のWeb.Configものが含まれます。
<authentication mode="Windows" />
<authorization>
<deny users="?" />
</authorization>
サイトは正常に機能しており、ユーザーWindows Credentialsはサイトにアクセスするためにそれらを提供する必要があります.
問題
Windows API controllerまた、ネットワーク上の別のコンピューターで実行され、前の手順で作成した のアクションの1 つにアクセスする Windows サービスを開発しています。ここでの問題はWindows Credentials、Windows サービス内から RESTful API メソッドを提供できないことです...ユーザーがそのシステムを使用しない可能性があるため...私が意味することを理解してください:
私は何を試しましたか
- Web プロジェクトのプロパティで許可
Anonymous Authenticationされています。True次にAllowAnonymous、Web API メソッドで属性を使用しました。動作しませんでした。 AuthorizationFilterAttributeWindow Service からアクセスされる API メソッドにのみ適用される別のメソッドを作成しないでください。このようにして、新しい機能が既存のWindows Authentication機能を上書きし、Windows サービスからのみ使用される BASIC 認証用に選択したユーザー名/パスワードを提供できるようになります。そこで、 Rick Strahl のブログのAuthorizationFilterAttribute助けを借りて、新しいクラスを作成しました。[AllowAnonymous] [AuthorizeCallFromWindowsService] public IssueResponse CloseEmployeeLicenses(int userID) { return null; }
繰り返しますが、これは機能しませんでした。API メソッドには同じ Windows 認証資格情報が必要であり、ハードコードされたカスタムのユーザー名/パスワードを使用したいと考えています。
何を提案しますか?前もって感謝します。