c0d*_*d3x 3 tomcat web.xml realm
我想配置tomcat /我的Web应用程序以使用JDBC领域来实现容器管理的安全性.我在tomcat的server.xml文件中指定了这个领域,如下所示:
<Realm className="org.apache.catalina.realm.JDBCRealm" driverName="net.sourceforge.jtds.jdbc.Driver" connectionURL="jdbc:jtds:sqlserver://hostname:1433/intranet;user=sa;password=sa04jT14;instance=instanceName" userTable="users" userNameCol="username" userCredCol="password" userRoleTable="roles" roleNameCol="role" />
Run Code Online (Sandbox Code Playgroud)
我创建了数据库和表.我创建了一个登录页面,并将以下代码添加到web.xml:
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.xhtml</form-login-page>
<form-error-page>/login.xhtml</form-error-page>
</form-login-config>
</login-config>
Run Code Online (Sandbox Code Playgroud)
但Tomcat如何知道他必须使用哪个领域进行身份验证?我是否必须在元素中添加元素?但那么价值应该是什么呢?
提前致谢.
这很好.这取决于<Realm>一个Tomcat将为您的webapp找到和使用的声明的位置.它也在Tomcat的Realm Configuration HOWTO中明确提到:
该
<Realm>元素可以嵌套在以下任何一个Container元素中.Realm元素的位置直接影响该Realm的"范围"(即哪些Web应用程序将共享相同的身份验证信息):
在
<Engine>元素内部 - 此域将在所有虚拟主机上的所有Web应用程序之间共享,除非它被嵌套在从属<Host>或<Context>元素中的Realm元素覆盖 .在
<Host>元素内部 - 此域将在此虚拟主机的所有Web应用程序之间共享,除非它被嵌套在从属<Context>元素内的Realm元素覆盖 .在
<Context>元素内 - 此领域仅用于此Web应用程序.
在<Engine>和<Host>元素通常声明/conf/server.xml.该<Context>元素可以在任何的介绍性文字的底部位置按名单的声明本文档.例如,如果您打算在特定于webapp的情况下定义此领域,<Context>而您希望与Web 应用程序一起部署而不必担心服务器配置,那么最好的位置就是Webapp/META-INF/context.xml.
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
3056 次 |
| 最近记录: |