質問

現時点では、Simple Tokenによる特定のアプリケーションのアクセスを制限するために、データサービスに簡単な認証を追加したいと思います。

ドメイン認証やフォーム認証は必要ありません。

ここで認証についてよく読みました:

http://franssenden.wordpress.com/2010/06/14/custom-security-odata-service-wcf-data-services/

http://mtaulty.com/communityserver/blogs/mike_taultys_blog/archive/2008/06/03/10482.aspx

http://mtaulty.com/communityserver/blogs/mike_taultys_blog/archive/2008/01/15/10119.aspx

http://mtaulty.com/communityserver/blogs/mike_taultys_blog/archive/2008/01/10/10100.aspx

残念ながら、それはすべて仕事を要求しています。何よりもカスタムihttpmoduleを作成します。もっと簡単な解決策があるはずです。

クライアント(WPF)にオブジェクトコンテキストを作成すると、資格情報を追加できることがわかっています。

Uri uri = new Uri("http://localhost/myapp/odata.svc");

MyEntities ent= new MyEntities (uri);
ent.Credentials = new NetworkCredential("token", "zx5as9vxc5sa9h0vb6523cv56");

しかし、どこで読むことができますか(カスタムihttpmoduleの実装なし)?

データサービスの実装であるクラスで何かを使用できると思いました。

protected override void OnStartProcessingRequest(ProcessRequestArgs args)
{
 string cred = args.OperationContext.AbsoluteRequestUri.UserInfo;
}

私はuserInfoに精通していませんが、それの説明は「ユーザー名、パスワードを取得します...)

だから私は2つの主な質問があります:

  1. ent.credentials = new NetworkCredential( "token"、 "zx5as9vxc5sa9h0vb6523cv56");

  2. クライアントアプリのuserInfoを設定して、onstartprocessingRequestメソッドで使用できる場所(できれば)はどこにいますか。

よろしく、ダニエル・スコウロスキ

役に立ちましたか?

解決

認証とWCFデータサービス(ODATAプロトコルの.NET実装です)に関する一連の投稿があります。 http://blogs.msdn.com/b/astoriateam/archive/tags/authentication/

そこにはもっと多くの情報を見つけることができるはずです(コードサンプルを含む)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top