0

Windows Azure クラウド サービスを使用していますが、[CLOUDSERVICENAME].cloudapp.net の代わりに自分のドメイン名を使用してアクセスすると、認証 Cookie に問題が発生します。

私はクッキーを作成しています

 FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(
                     1,
                     serializeModel.Username,
                     DateTime.Now,
                     DateTime.Now.AddMinutes(15),
                     false,
                     userData);

        string encTicket = FormsAuthentication.Encrypt(authTicket);
        System.Web.HttpCookie faCookie = new System.Web.HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
        Response.Cookies.Add(faCookie);

しかし、それを復号化しようとすると、null 値が返されます。

 HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];

            if (authCookie != null)
            {
                FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value);

                JavaScriptSerializer serializer = new JavaScriptSerializer();

                if (!String.IsNullOrEmpty(authTicket.UserData))
                {

これは、私のドメイン名を使用してアクセスする場合にのみ発生するため、奇妙です。

4

1 に答える 1

0

カスタム ドメイン (SSL 証明書で実行) を使用すると、Cookie のサイズが大きくなることがわかりました。これは証明書の暗号化に関連していると思います。

これを解決するには、Cookie ユーザーデータからいくつかのパラメーターを削除して、4096 バイトを超えないようにする必要があります (ブラウザー Cookie 制限: http://browsercookielimits.x64.me/ ) 。

于 2013-04-10T10:21:01.930 に答える