У нас есть простое веб-приложение, работающее на Tomcat 7.0.56. Теперь мы хотим использовать наш собственный домен для аутентификации.Как доставить королевство с войной с Tomcat?
public class SpecialAuth extends DataSourceRealm{
@Override
public Principal authenticate(String username, String credentials){
....
}
}
Это определено в /META-INF/context.xml внутри войны
<Context>
<Realm className="some.package.SpecialAuth" dataSourceName="jdbc/MySQL" />
</Context>
Где поставить SpecialAuth.class?
Что мы ожидали, просто иметь SpecialAuth.class в нашей войне, но тогда мы получаем феллинг исключение при запуске
Caused by: java.lang.ClassNotFoundException: some.package.BackOfficeAuth
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
....
Если мы делаем банку, положить его в $ TOMCAT/Lib все работает отлично.
Но это НЕ МОЖЕТ быть решением! Это будет означать, что каждый раз, когда я работаю над этим классом, я должен прикасаться к моему серверу tomcat и не могу использовать обычное развертывание.
Как я могу использовать встроенный механизм аутентификации, не касаясь коту всех timeß
Возможно, вам это может понравиться, но '$ TOMCAT/lib' - это ответ. – EJP
Если это единственный способ развертывания? Вы действительно закрываете tomcat, копируете библиотеки, делаете другой материал для развертывания, запускаете tomcat? Вместо того, чтобы просто развертывать его? – Marcel
Вы также можете добавить его в путь запуска tomcat startup. – ramp