хотя есть еще у меня один вопрос... получаеться там есть два варианта аутентификации - первый, который у меня работает, это когда я непосредсвенно указываю базу данных и драйвер к ней...
| Код | <Realm className="org.apache.catalina.realm.JDBCRealm" debug="99" driverName="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost/site_db?user=root&password=cj.p lt,bkjd" userTable="users" userNameCol="user_name" userCredCol="user_pass" userRoleTable="user_roles" roleNameCol="role_name"/>
|
... но он не очень удобен так как указанная база данных используеться и в других сервлетах моего преложения... она получаеться уже прописанна в context.xml моего томката...
| Код | <Context path="/" docBase="siteDB" debug="5" reloadable="true" crossContext="true">
<Resource name="jdbc/siteDB" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="root" password="cj.p lt,bkjd" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/site_db?autoReconnect=true"/>
</Context>
|
... следовательно можно использовать следующий вариант аутентификации
| Код | <Realm className="org.apache.catalina.realm.DataSourceRealm" debug="99" dataSourceName="jdbc/siteDB" userTable="users" userNameCol="user_name" userCredCol="user_pass" userRoleTable="user_roles" roleNameCol="role_name"/>
|
но и тут начинаються баги... томкат выдает исклюение
| Код | SEVERE: Exception performing authentication javax.naming.NameNotFoundException: Name jdbc is not bound in this Context at org.apache.naming.NamingContext.lookup(NamingContext.java:770) at org.apache.naming.NamingContext.lookup(NamingContext.java:153) at org.apache.catalina.realm.DataSourceRealm.open(DataSourceRealm.java:402) at org.apache.catalina.realm.DataSourceRealm.authenticate(DataSourceRealm.java:283) at org.apache.catalina.authenticator.BasicAuthenticator.authenticate(BasicAuthenticator.java:181) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:491) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445) at java.lang.Thread.run(Thread.java:619)
|
что я делаю не так? |