1.Tomcat默认验证的配置 通过tomcat-user.xml进行验证
server.xml
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" debug="0" resourceName="UserDatabase"/>
tomcat-user.xml
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="user"/>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="derek" password="dada" roles="admin,user"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="role1" password="tomcat" roles="role1"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="admin" password="dada" roles="admin,manager"/>
</tomcat-users>
2.配置验证,通过数据库
(用户表member:帐号字段wno,密码字段password; 权限表system_permit: 权限字段system_code)
server.xml
<Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
driverName="net.sourceforge.jtds.jdbc.Driver"
connectionURL="jdbc:jtds:sqlserver://192.168.56.32:1433/testDB"
connectionName="sa" connectionPassword="sa"
userTable="member" userNameCol="WNO" userCredCol="Password"
userRoleTable="system_permit" roleNameCol="system_code" />
driverName 驱动名字
connectionURL 数据库连接url
connectionName 连接的用户名
connectionPassword 连接的密码
userTable 用户表
userNameCol 用户名列
userCredCol 密码列
userRoleTable 角色表
roleNameCol 角色名字字段
一 Basic验证Web.xml
<security-constraint>
<web-resource-collection>
<web-resource-name>admin page</web-resource-name>
<url-pattern>/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Password required</realm-name>
</login-config>
<security-role>
<role-name>admin</role-name>
</security-role>
取得用户登陆帐号
String auth_user = null;
String auth = request.getHeader("Authorization");
String encoded = auth.substring(6);
sun.misc.BASE64Decoder dec = new sun.misc.BASE64Decoder();
String decoded = new String(dec.decodeBuffer(encoded));
String[] userAndPass = decoded.split(":", 2);
auth_user = userAndPass[0];
session.setAttribute(ADMIN_ID,auth_user);
二、FORM验证
1.准备login.jsp页面
<FORM name="logonForm" method="post" action="j_security_check">
<input name="j_username" type="text" />
<input name="j_password" type="password" />
<input type="submit" value="LOGIN"/>
</FORM>
* 帐号 j_username
* 密码 j_password
* action j_security_check
“*”内容为固定写法,不能改变
2.配置web.xml
<security-constraint>
<web-resource-collection>
<web-resource-name>admin page</web-resource-name>
<url-pattern>/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/error.jsp</form-error-page>
</form-login-config>
</login-config> <security-role>
<role-name>admin</role-name>
</security-role>
分享到:
相关推荐
在本文中,我们将深入探讨如何实现Tomcat服务器中...在提供的压缩包文件中,"Tomcat FORM验证"和"Tomcat BASIC验证"可能包含示例配置文件和登录表单页面,可以作为实际操作的起点。记得根据自己的需求进行调整和测试。
【基于Tomcat的安全验证...通过这些配置,Tomcat的安全验证机制能够有效地保护Web应用,限制未授权访问,并且提供了多种适应不同安全需求的认证方式。对于开发者来说,了解和熟练掌握这些机制是构建安全Web应用的基础。
- `server.xml`中的`<Realm>`元素:配置身份验证和授权机制,如Basic认证、Form认证等。 - SSL配置:通过修改`conf/server.xml`中的`<Connector>`元素,启用HTTPS支持,提高通信安全性。 **性能优化**: - 调整JVM...
在安全性方面,Tomcat支持多种身份验证机制,如Basic Auth、Form Auth和Digest Auth,同时可以通过 Realm 配置数据库或其他源进行用户身份验证。另外,Tomcat还可以与其他Java EE组件如JNDI(Java命名和目录接口)和...
- `LoginConfig`: 在`web.xml`中定义认证方法,如`FORM`、`BASIC`等。 5. **JNDI资源** - JNDI(Java Naming and Directory Interface)允许在Tomcat中注册和查找资源,如数据源(DataSource)、邮件会话...
在安全方面,Tomcat支持多种身份验证方法,如Basic、Form、Digest等,并且可以使用Realms来实现用户数据库的集成。同时,Tomcat还提供了一些安全特性,如SSL/TLS支持、CSRF防护和角色基础的访问控制。 对于性能优化...
22.3. 为tomcat配置SSL 23. 替换验证身份 23.1. 概述 23.2. 配置 A. 安全数据库表结构 A.1. User表 A.1.1. 组权限 A.2. 持久登陆(Remember-Me)表 A.3. ACL表 A.3.1. Hypersonic SQL A.3.1.1. PostgreSQL...
Tomcat支持多种安全机制,如Basic、Digest、Form认证,以及SSL/TLS加密。`Realm`接口用于用户认证,可以配置为连接到数据库或其他身份验证来源。 7. **部署和热部署** 用户可以通过将WAR文件放入`webapps`目录或...
14. `<login-config>`:配置应用的身份验证方式和所需角色,如FORM或BASIC认证。 `web.xml`文件的结构和顺序非常重要,因为Tomcat服务器会按照定义的顺序解析这些元素。如果顺序不正确,可能导致解析错误,如...
4. **安全性**:Tomcat支持多种安全机制,如Basic Auth、Digest Auth和Form Auth。通过 Realm组件,可以与外部身份验证源(如LDAP或数据库)集成。`context.xml`和`server.xml`中的角色和权限定义控制着访问控制。 ...
安全方面,Tomcat提供了基本的身份验证和授权机制,如Basic认证和Form认证。可以通过 Realm 配置来链接数据库或其他认证源,实现用户权限的管理。同时,Tomcat还支持SSL/TLS加密,以保护通信的安全性。 监控和日志...
4. **安全配置**:此版本提供了一系列的安全特性,包括SSL/TLS支持,用于加密数据传输,以及基本的身份验证机制,如FORM和BASIC认证。 5. **部署工具**:Tomcat 6.0.36支持WAR文件部署,这是一种方便的方式将Web...
- 通过` Realm `组件,可以与多种用户数据库(如LDAP、DBCP等)集成进行身份验证。 7. **性能优化**: - 可通过调整`maxThreads`、`acceptCount`等参数优化线程池,提升并发性能。 - 使用NIO或APR(Apache ...
1.1.2. 在Tomcat 服务器上运行示例.......................................................................................................................... 15 1.1.3. 运行测试..............................
- 在`server.xml`中配置 Realm 对象以进行身份验证和授权,可以与多种用户数据库集成,如` DIGEST`, `FORM`, `BASIC` 等认证机制。 6. **性能优化**: - 通过调整`server.xml`中的线程池设置,如最大线程数和空闲...
在知识的讲解上,本书采用理论与实践相结合的方式,从程序运行的内部机制进行分析讲解,并通过大量的实例和实验来验证并运用本书的知识。.. 本书语言生动、通俗易懂、讲解细致,大部分章节都提供了多个例子,而且很...
7. **安全机制**:可能包括用户认证(如HTTP Basic Auth或Form-Based Auth)和授权(访问控制),以保护系统免受未经授权的访问。 8. **RESTful API**:为了与其他服务或移动应用通信,系统可能提供REST...
在知识的讲解上,本书采用理论与实践相结合的方式,从程序运行的内部机制进行分析讲解,并通过大量的实例和实验来验证并运用本书的知识。.. 本书语言生动、通俗易懂、讲解细致,大部分章节都提供了多个例子,而且很...
在知识的讲解上,本书采用理论与实践相结合的方式,从程序运行的内部机制进行分析讲解,并通过大量的实例和实验来验证并运用本书的知识。.. 本书语言生动、通俗易懂、讲解细致,大部分章节都提供了多个例子,而且很...
在知识的讲解上,本书采用理论与实践相结合的方式,从程序运行的内部机制进行分析讲解,并通过大量的实例和实验来验证并运用本书的知识。.. 本书语言生动、通俗易懂、讲解细致,大部分章节都提供了多个例子,而且很...