1

.NET MVC3 アプリケーションと WCF サービスがあります。アプリでは、すべてのユーザーが認証される必要があります。

ここで、セキュリティで保護された 1 つのページのコンテンツを WebClient で WCF サービスから取得したいと考えています。

サービスと Web アプリケーションの両方が、同じサーバー上で同じ CNAME (異なるポート) の下で実行されます。

次のようなクッキーを作成できると思いました:

Dim ticket = New FormsAuthenticationTicket(1, adAccount, DateTime.Now, DateTime.Now.AddMinutes(30), False, Nothing, FormsAuthentication.FormsCookiePath)

' Encrypt the ticket using the machine key
Dim encryptedTicket = FormsAuthentication.Encrypt(ticket)

' Add the cookie to the request to save it
Dim cookie = New HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket)

リクエストに Cookie を追加しましたが、許可されていないため、まだコンテンツを取得できません。

FormsAuthentication クラスのプロパティが正しく設定されていないのではないかと思い、"/"の代わりにFormsAuthentication.FormsCookiePathとの"".ASPXAUTH""代わりに試してみましFormsAuthentication.FormsCookieNameた。それでもうまくいきません。

WCF サービスで有効な Cookie を作成して、認証が必要な Web アプリケーションの保護されたページを要求する方法を知っている人はいますか?

4

1 に答える 1

0

やった

Dim ticket = New FormsAuthenticationTicket(adAccount, False, 20)

代わりは

Dim ticket = New FormsAuthenticationTicket(1, adAccount, DateTime.Now, DateTime.Now.AddMinutes(30), False, Nothing, FormsAuthentication.FormsCookiePath)

そしてそれは今動作します...

于 2013-02-05T12:59:36.260 に答える