Единый вход в ADFS не работает с состоянием сеанса «UserUri» - PullRequest
0 голосов
/ 02 июля 2018

Наш веб-сайт asp.net работал нормально с единой регистрацией ADFS, так как мы изменили настройки файлов cookie состояния сеанса с «Использовать куки» на «USE URI». После внесения этого изменения fam.IsSignInResponse (запрос) всегда ложно в приведенном ниже коде, поэтому он рекурсивно перенаправляется обратно на экран входа ADFS.

public List<ClaimEntity> GetClaims()
        {
            logger.Info("Started executing GetClaims()");
            List<ClaimEntity> claims = new List<ClaimEntity>();
            // sam is configured in web.config
            var sam = FederatedAuthentication.SessionAuthenticationModule;
            logger.Info("Declaring sam");
            // fam is not
            var fam = new WSFederationAuthenticationModule();
            logger.Info("Declaring fam");
            //fam.FederationConfiguration = FederatedAuthentication.FederationConfiguration;
            fam.ServiceConfiguration = FederatedAuthentication.ServiceConfiguration;
            logger.Info("Assigning ServiceConfiguration to fam");
            var request = thisContext.Request;

            // is this the response from the STS
            if (!fam.IsSignInResponse(request))
            {
                // no
                logger.Info("fam.IsSignInResponse => No");
                // the STS
                fam.Issuer = _IssuerSTSSpec.Issuer;
                logger.Info("IssuerUrl= " + _IssuerSTSSpec.Issuer);
                // the return address
                fam.Realm = thisContext.Request.Url.AbsoluteUri;
                logger.Info("Assigning fam.Realm= " + thisContext.Request.Url.AbsoluteUri);
                logger.Info("Creating SignInRequest...");
                var req = fam.CreateSignInRequest(string.Empty, null, false);                
                logger.Info("Redirecting to the issuer...");
                logger.Info("Request to STS: "+ req.WriteQueryString().ToString());
                // go to STS
                thisContext.Response.Redirect(req.WriteQueryString());

            }
            else
            {
                // yes  
        -----------
        -----------

            }
            logger.Info("Returning the claims");
            return claims;
        }

Не поддерживается ли режим файлов cookie сеанса "USE URI" интегрированным приложением ADFS или какие-либо изменения требуются в моем коде?

1 Ответ

0 голосов
/ 12 июля 2018

Это поможет лучше понять, если вы добавите пример кода «Использовать URI». Есть ли необходимость использовать этот метод? Использование файлов cookie сохранит URL-адрес в чистоте и станет более управляемым. И если он уже работает для вас, вы можете пойти с ним, если нет необходимости использовать URI

...