-2

誰かがこの物件に出くわしたことがありますか?私は実際に、異なるドメインの2つのasp.netWebサイトにシングルサインオンを実装しようとしています。このためのサンプルコードをお探しですか?どうもありがとう!

4

1 に答える 1

1

クロスドメインを使用している場合は、このページをご覧ください。Cookieはクロスドメインではないため、Cookieなしの認証も使用する必要があります。

別のスタック質問の作成者からの素晴らしいコードサンプルがここにあります

if (FormsAuthentication.EnableCrossAppRedirects)
{
text = context.Request.QueryString[name];
if (text != null && text.Length > 1)
{
    if (!cookielessTicket && FormsAuthentication.CookieMode == HttpCookieMode.AutoDetect)
    {
        cookielessTicket = CookielessHelperClass.UseCookieless(context, true, FormsAuthentication.CookieMode);
    }
    try
    {
        formsAuthenticationTicket = FormsAuthentication.Decrypt(text);
    }
    catch
    {
        flag2 = true;
    }
    if (formsAuthenticationTicket == null)
    {
        flag2 = true;
    }
}
if (formsAuthenticationTicket == null || formsAuthenticationTicket.Expired)
{
    text = context.Request.Form[name];
    if (text != null && text.Length > 1)
    {
        if (!cookielessTicket && FormsAuthentication.CookieMode == HttpCookieMode.AutoDetect)
        {
            cookielessTicket = CookielessHelperClass.UseCookieless(context, true, FormsAuthentication.CookieMode);
        }
        try
        {
            formsAuthenticationTicket = FormsAuthentication.Decrypt(text);
        }
        catch
        {
            flag2 = true;
        }
        if (formsAuthenticationTicket == null)
        {
            flag2 = true;
        }
    }
}
}
于 2012-07-22T10:32:00.590 に答える