Все это зависит, как Вы используете Java или перечисления C#. То, как Вы используете его, продиктует решение, которое Вы выберете в Ruby.
Попытка собственный компонент Set
тип, например:
>> enum = Set['a', 'b', 'c']
=> #<Set: {"a", "b", "c"}>
>> enum.member? "b"
=> true
>> enum.member? "d"
=> false
>> enum.add? "b"
=> nil
>> enum.add? "d"
=> #<Set: {"a", "b", "c", "d"}>
Вы немного смешиваете вещи.
AuthenticateUser ();
работает на сервере, а аутентификация происходит на клиенте. Вы не можете останавливаться в середине выполнения сценария PHP для аутентификации клиента, а затем продолжать выполнение сценария PHP.
В качестве решения вашего вопроса это может сработать в вашем случае:
if(authenticationNeeded)
{
// redirect to a page that requires authentication that does what index was supposed to do.
redirect('index_ssl.php');
}
Используя .htaccess
вы можете определить SSLVerifyClient require
только для некоторых каталогов / файлов.
Ключевым моментом является следующее: вашему веб-серверу (в данном случае Apache) требуется сертификат клиента для предоставления доступа к любым каталогам / файлам, для которых вы указали SSLVerifyClient require
.
В заключение, нет способ делать то, что хочешь. У вас могут быть только файлы / каталоги, которые требуют или не требуют сертификата клиента. Невозможно остановиться на середине файла PHP, чтобы потребовать сертификат клиента, но вы можете перенаправить на тот, который требует его.