Реализация OpenID в ASP.net “правильно” - членство или поставщик аутентификации?

Попробуйте приведенный ниже блок кода, он отлично сработал.

SWIFT 3.0

let ACCEPTABLE_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_"

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
    let cs = NSCharacterSet(charactersIn: ACCEPTABLE_CHARACTERS).inverted
    let filtered = string.components(separatedBy: cs).joined(separator: "")

    return (string == filtered)
}

Цель C

#define ACCEPTABLE_CHARACTERS @" ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_."

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string  {
      NSCharacterSet *cs = [[NSCharacterSet characterSetWithCharactersInString:ACCEPTABLE_CHARACTERS] invertedSet];

      NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];

      return [string isEqualToString:filtered];
}

Надеюсь, это будет работать и для вас.

13
задан Cherian 15 January 2010 в 05:55
поделиться

4 ответа

API членства, который определяет ASP.NET, совершенно не подходит для OpenID, который вероятно, поэтому вы не видите, что многие системы используют его. Я не Пока не видел необходимости использовать поставщика членства с OpenID, так что это не стало проблемой. Одним из проектов, в котором была предпринята попытка согласовать модель поставщика членства с OpenID, является http://code.google.com/p/dotnet-membership-provider/ , но похоже, что он не поддерживался в последнее время. .

Как сказал womp, вам не нужно переделывать FormsAuthenticationModule. Он отлично работает с OpenID.

Ознакомьтесь с шаблонами проектов , которые поставляются с DotNetOpenAuth , чтобы узнать, как все может работать без поставщика членства.

но не похоже, что он поддерживался в последнее время.

Как сказал womp, вам не нужно переделывать FormsAuthenticationModule. Он отлично работает с OpenID.

Ознакомьтесь с шаблонами проектов , которые поставляются с DotNetOpenAuth , чтобы узнать, как все может работать без поставщика членства.

но не похоже, что он поддерживался в последнее время.

Как сказал womp, вам не нужно переделывать FormsAuthenticationModule. Он отлично работает с OpenID.

Ознакомьтесь с шаблонами проектов , которые поставляются с DotNetOpenAuth , чтобы узнать, как все может работать без поставщика членства.

10
ответ дан 2 December 2019 в 00:03
поделиться

Пример ASP.NET MVC, включенный в DotNetOpenId , использует FormsAuthentication для входа пользователя в систему после его аутентификации с помощью OpenID. Насколько я могу судить, он не интегрируется с системой членства.

0
ответ дан 2 December 2019 в 00:03
поделиться

Возможно, вы ищете проект OpenID Membership Provider .

И даже если вы не используете элементы управления входом, все же рекомендуется использовать модель поставщика членства для аутентификации.

Обычно нет необходимости углубляться в реализацию конкретных функций FormsAuthentication, поскольку написание MembershipProvider довольно тривиально. , и я никогда не встречал случая, когда он был бы недостаточно гибким для обработки. Обратите внимание, что часто вам нужно реализовать только один метод (ValidateUser ()) интерфейса, чтобы получить работающего поставщика.

4
ответ дан 2 December 2019 в 00:03
поделиться

Если кто-нибудь встретит хороший пример C # janrain - дайте мне знать.

У меня есть dsn, указывающий на tumblr, затем для виджета входа он возвращается в поддомен, где у меня есть его путь к папке в корне.

Итак, у меня есть папка app_code, в которой я использую этот вспомогательный класс C # - я могу получить обратно токен, и он приведет меня на мой members.domain.com, так что виджет работает - просто нужно получить сведения о пользователе о провайдере, которого они использовали для доступа в личный кабинет.

http://groups.google.com/group/rpx-developers/web/c-helper-class?_done=/group/rpx-developers%3F

- это вспомогательный класс

ошибка

Ошибка сервера в приложении. Неожиданная ошибка API Описание: необработанное исключение произошло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительных сведений об ошибке и ее происхождении в коде.

Сведения об исключении: System.Exception: непредвиденная ошибка API

Ошибка источника:

Строка 22: Строка 23: Rpx feedit = new Rpx ("apikey", " https://learnbarpting.rpxnow.com/ "); Строка 24: feedit.AuthInfo (justoken); Строка 25: XmlElement xmlstuff = feedit.AuthInfo (justoken); Строка 26:

Исходный файл: c: \ Inetpub \ vhosts \ learnbarnding.com \ httpdocs \ members \ Default.aspx.cs Строка: 24

Трассировка стека:

0
ответ дан 2 December 2019 в 00:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: