2015-04-10 1 views
1

В чем разница между:В чем разница между auth-constrain и ролью безопасности?

<auth-constraint><role-name>tomcat</role-name></auth-constraint> 

и:

<security-role><role-name>tomcat</role-name></security-role> 

в объявлении ограничения безопасности?

Например, если я определяю аутентификацию BASIC, как показано ниже, что я должен использовать?

<login-config><auth-method>BASIC</auth-method></login-config> 
+0

Имеет ли первая ссылка в [поиск Google] (https://www.google.com/search?safe=off&es_sm=122&q=difference+between+auth-constraint+ и + security-role), не обращайтесь к этому правильно? – LittleBobbyTables

+0

@LittleBobbyTables Это может быть, но это 8 лет, и это не касается, если мне нужны оба для аутентификации BASIC. Протестировано с Tomcat, и, похоже, для этого нужно определить оба, поэтому я не совсем понимаю, почему. – kenorb

ответ

1

Принципиальное различие между механизмом аутентификации который адресованного Идент-метода - аутентификация средствами для приложения, чтобы подтвердить «ты на самом деле, кто вы говорите?» - Механизмы аутентификации могут быть разных типов, но есть некоторые из них, которые поддерживаются из коробки стандартным контейнером сервлетов, - то, которое вы указали, является BASIC - это то, что побуждает браузер запрашивать диалоговое окно для входа в систему - это в идеале не должны использоваться в сценариях prod, поскольку он передает ваши учетные данные в виде обычного текста на сервер, и он не настраивается в любом браузере, который я знаю. Обычно в сценариях prod используется FORM наряду с настройкой SSL на сервере или другом уровне инфраструктуры. FORM очень настраиваема и наиболее популярна, когда используется функция автоматической проверки подлинности веб-контейнера сервлета.

Имя роли - это абстракция, которая в конечном итоге будет использоваться кодом приложения для выполнения авторизации. «Хорошо, так вы и являетесь тем, кем вы говорите, но разрешено ли вам доступ к этой странице, кнопке или веб-приложению?» - Как приложение обрабатывает это внутри, здесь не спрашивают, но здесь задействованы Declarative (Annotation based) Servlet APIs и Server specific mappings. Вот способ сделать это программно - How to get user roles in a JSP/Servlet