`
envoydada
  • 浏览: 64866 次
社区版块
存档分类
最新评论

Tomcat 通过数据库验证的配置方法(BASIC,FORM).

阅读更多

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 Basic Form认证实例!

    在本文中,我们将深入探讨如何实现Tomcat服务器中...在提供的压缩包文件中,"Tomcat FORM验证"和"Tomcat BASIC验证"可能包含示例配置文件和登录表单页面,可以作为实际操作的起点。记得根据自己的需求进行调整和测试。

    基于Tomcat的安全验证机制

    【基于Tomcat的安全验证...通过这些配置,Tomcat的安全验证机制能够有效地保护Web应用,限制未授权访问,并且提供了多种适应不同安全需求的认证方式。对于开发者来说,了解和熟练掌握这些机制是构建安全Web应用的基础。

    apache-tomcat-9.0.78-windows-x64

    - `server.xml`中的`&lt;Realm&gt;`元素:配置身份验证和授权机制,如Basic认证、Form认证等。 - SSL配置:通过修改`conf/server.xml`中的`&lt;Connector&gt;`元素,启用HTTPS支持,提高通信安全性。 **性能优化**: - 调整JVM...

    apache-tomcat-8.0.35.exe下载

    在安全性方面,Tomcat支持多种身份验证机制,如Basic Auth、Form Auth和Digest Auth,同时可以通过 Realm 配置数据库或其他源进行用户身份验证。另外,Tomcat还可以与其他Java EE组件如JNDI(Java命名和目录接口)和...

    tomcat常用配置信息详解

    - `LoginConfig`: 在`web.xml`中定义认证方法,如`FORM`、`BASIC`等。 5. **JNDI资源** - JNDI(Java Naming and Directory Interface)允许在Tomcat中注册和查找资源,如数据源(DataSource)、邮件会话...

    apache tomcat

    在安全方面,Tomcat支持多种身份验证方法,如Basic、Form、Digest等,并且可以使用Realms来实现用户数据库的集成。同时,Tomcat还提供了一些安全特性,如SSL/TLS支持、CSRF防护和角色基础的访问控制。 对于性能优化...

    SpringSecurity 3.0.1.RELEASE.CHM

    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...

    apache-tomcat-7.0.29源码

    Tomcat支持多种安全机制,如Basic、Digest、Form认证,以及SSL/TLS加密。`Realm`接口用于用户认证,可以配置为连接到数据库或其他身份验证来源。 7. **部署和热部署** 用户可以通过将WAR文件放入`webapps`目录或...

    Tomcat中web.xml文件的详细说明

    14. `&lt;login-config&gt;`:配置应用的身份验证方式和所需角色,如FORM或BASIC认证。 `web.xml`文件的结构和顺序非常重要,因为Tomcat服务器会按照定义的顺序解析这些元素。如果顺序不正确,可能导致解析错误,如...

    apache-tomcat-6.0.36-src

    4. **安全性**:Tomcat支持多种安全机制,如Basic Auth、Digest Auth和Form Auth。通过 Realm组件,可以与外部身份验证源(如LDAP或数据库)集成。`context.xml`和`server.xml`中的角色和权限定义控制着访问控制。 ...

    apache-tomcat-7.0.23

    安全方面,Tomcat提供了基本的身份验证和授权机制,如Basic认证和Form认证。可以通过 Realm 配置来链接数据库或其他认证源,实现用户权限的管理。同时,Tomcat还支持SSL/TLS加密,以保护通信的安全性。 监控和日志...

    tomcat6.0.36版本

    4. **安全配置**:此版本提供了一系列的安全特性,包括SSL/TLS支持,用于加密数据传输,以及基本的身份验证机制,如FORM和BASIC认证。 5. **部署工具**:Tomcat 6.0.36支持WAR文件部署,这是一种方便的方式将Web...

    Tomcat7.0.68源码

    - 通过` Realm `组件,可以与多种用户数据库(如LDAP、DBCP等)集成进行身份验证。 7. **性能优化**: - 可通过调整`maxThreads`、`acceptCount`等参数优化线程池,提升并发性能。 - 使用NIO或APR(Apache ...

    JBoss Seam 工作原理、seam和hibernate的范例、RESTFul的seam、seam-gen起步、seam组件、配置组件、jsf,jboss、标签、PDF、注解等等

    1.1.2. 在Tomcat 服务器上运行示例.......................................................................................................................... 15 1.1.3. 运行测试..............................

    apache-tomcat-6.0.20

    - 在`server.xml`中配置 Realm 对象以进行身份验证和授权,可以与多种用户数据库集成,如` DIGEST`, `FORM`, `BASIC` 等认证机制。 6. **性能优化**: - 通过调整`server.xml`中的线程池设置,如最大线程数和空闲...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    在知识的讲解上,本书采用理论与实践相结合的方式,从程序运行的内部机制进行分析讲解,并通过大量的实例和实验来验证并运用本书的知识。.. 本书语言生动、通俗易懂、讲解细致,大部分章节都提供了多个例子,而且很...

    基于JavaEE的健身俱乐部管理系统_JSP网站设计_MySQL数据库设计.rar

    7. **安全机制**:可能包括用户认证(如HTTP Basic Auth或Form-Based Auth)和授权(访问控制),以保护系统免受未经授权的访问。 8. **RESTful API**:为了与其他服务或移动应用通信,系统可能提供REST...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    在知识的讲解上,本书采用理论与实践相结合的方式,从程序运行的内部机制进行分析讲解,并通过大量的实例和实验来验证并运用本书的知识。.. 本书语言生动、通俗易懂、讲解细致,大部分章节都提供了多个例子,而且很...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    在知识的讲解上,本书采用理论与实践相结合的方式,从程序运行的内部机制进行分析讲解,并通过大量的实例和实验来验证并运用本书的知识。.. 本书语言生动、通俗易懂、讲解细致,大部分章节都提供了多个例子,而且很...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    在知识的讲解上,本书采用理论与实践相结合的方式,从程序运行的内部机制进行分析讲解,并通过大量的实例和实验来验证并运用本书的知识。.. 本书语言生动、通俗易懂、讲解细致,大部分章节都提供了多个例子,而且很...

Global site tag (gtag.js) - Google Analytics