2014-08-27 1 views
0

Выдержка из моего server.xml:Задайте вход/аутентификацию по умолчанию в server.xml. Как вы можете это сделать?

<basicRegistry id="basic" realm="customRealm"> 
    <user name="[email protected]" password="password" /> 
</basicRegistry> 

В настоящее время, это требует логин от пользователя в виде диалогового окна.

Я бы хотел, чтобы пользователь был зарегистрирован как [email protected] по умолчанию, без каких-либо диалоговых окон или необходимости вводить что-либо.

Как я могу это сделать?

+0

В чем смысл безопасности? Возможно, просто отключите защиту приложений, а затем все ваши пользователи будут получать доступ к приложению анонимно. Может быть, мне не хватает чего-то, чего вы пытаетесь выполнить здесь ... – Gas

+0

@Gas Спасибо за ответ. Это просто для демонстрации/обучения. Я хочу создать демоверсию, где пользователь «всегда регистрируется» как этот один пользователь. У меня есть много кода ruby, построенного на вершине захвата имени текущего пользователя в системе - все это отлично работает - теперь я просто хочу удалить необходимость заполнения этого диалогового окна, чтобы я мог отправить его в дикую природу! :) –

+0

... Могу я просто положить его в iFrame ?! EDIT: Нет. Что-то не так, если положить его в iFrame. Я не знаю, что это такое, но в этом есть что-то не так: может кто-нибудь вспомнить, о чем я думаю? О, Боже, это 2AM. ОК. Извините за безумный StackOverflow. –

ответ

2

Вы могли бы попытаться использовать этот вид связи для предоставления учетных данных в нем:

http://userid:[email protected]/context-root 

Проверьте, если он будет работать, и достаточно хорошо для вашего случая.

ОБНОВЛЕНИЕ

1) Другим решением может быть реализовать форму входа. Таким образом, вы должны изменить настройки безопасности в приложении и добавьте следующее в web.xml

<login-config> 
     <auth-method>FORM</auth-method> 
     <realm-name>myrealm</realm-name> 
     <form-login-config> 
      <form-login-page>login.jsp</form-login-page> 
      <form-error-page>login.jsp</form-error-page> 
     </form-login-config> 
</login-config> 

Затем вам нужно будет отправить запрос на POST

http://yourHost/context-root/j_security_check 

с j_username=userid и j_password=password

2) Второе решение, которое будет работать полностью без проблем, состояло бы в создании пользовательского TAI, как описано здесь - Developing a custom TAI for the Liberty profile

Соответствующий фрагмент кода с этой страницы:

import com.ibm.wsspi.security.tai.TrustAssociationInterceptor; 

public class SimpleTAI implements TrustAssociationInterceptor { 
... 
    public TAIResult negotiateValidateandEstablishTrust(HttpServletRequest req, 
        HttpServletResponse resp) throws WebTrustAssociationFailedException { 
     // Add logic to authenticate a request and return a TAI result. 
     String tai_user = "taiUser"; 
     return TAIResult.create(HttpServletResponse.SC_OK, tai_user); 
    } 

Добавьте класс TAI к профилю сервера Liberty. Используйте один из следующих способов, чтобы добавить класс TAI к профилю сервера Liberty:

  • Put пользовательский класс TAI в файле JAR, например simpleTAI.jar, затем сделать файл JAR доступен в общей библиотеке , См. Настройка TAI для профиля Liberty.
  • Пакет пользовательского класса TAI как функция. См. Раздел Разработка пользовательского TAI в качестве функции профиля Liberty.
+0

Спасибо за это, я подумал, что это один из методов, который я мог бы использовать ... к сожалению, в firefox это заставляет пользователя нажимать диалоговое окно, и поэтому я все еще ищу более плавное решение. Я удивлен, что не могу найти способ сделать это в websphere.Это так просто в IIS и Apache! –

Смежные вопросы