Как определить, существует ли токен W.I.F? - Лучший подход - PullRequest
0 голосов
/ 21 ноября 2011

Я использую Windows Identity Foundation. На одном из сайтов, защищенных W.I.F, есть представление регистрации пользователей, которое могут просматривать анонимные пользователи. На этом этапе я хотел бы видеть в своем контроллере регистрации, существует ли токен W.I.F:

Я собирался сделать это так:

public bool HasWifToken(HttpContextBase httpContextBase)
        {
            var claimsIdentity = httpContextBase.User.Identity as IClaimsIdentity;
            if (claimsIdentity == null)
            {
                return false;
            }

            return claimsIdentity.Claims.Count > 0;
        }

Но есть ли лучший способ проверить, есть ли у вас живой токен? Большое спасибо.

Ответы [ 2 ]

1 голос
/ 21 ноября 2011

Да - вы можете использовать IsAuthenticated в IdentityMode.Claims.ClaimsIdentity.

Интересно, что способ его установки очень похож на ваш подход - по сути, он проверяет, если иск. Количество> 0!

1 голос
/ 21 ноября 2011

Самое простое, что можно сделать, это:

var hasWifToken = httpContextBase.User.Identity.IsAuthenticated;

Если вы используете WIF, IsAuthenticated сообщит вам, существует ли токен (т. Е. Пользователь выполнил вход).

...