TOMCAT身份验证
2008-01-1513:31
创建验证表单usercheck.jsp及错误处理页面error.jsp,表单的用户名文本框必须命名为j_username,密码文本框必须命名为j_password,表单的action必须为j_security_check.

2.web.xml中的添加如下代码:

Baron'sroletologinadministrationapplication

admin

Baronsecurity-constraint!

BaronProtectedArea

*.jsp

*.htm

admin

FORM

BaronRealm

/usercheck.jsp

/error.jsp

如果对所有的web资源都进行保护,则作如下修改:

/*

如果通过控制资源访问方法进行保护,则在

作如下修改:

DELETE

GET

POST

PUT

以上为基于表单的验证,如果改成基本验证(不安全),则作如下修改:

   BASIC

   BaronRealm

如果改成摘要验证,则作如下修改:

   DIGEST

   BaronRealm

3.1)通过内存域验证,即根据tomcat-user.xml文件中的定义来验证登陆信息

tomcat-users.xml中进行如下修改,添加角色及用户

 

 

 

 

 

 

 

server.xml中的中添加:

  

2)通过DataSource域验证

  1. 建数据库,比如guard,然后建用户表users,字段user_name,user_password,建角色表user_roles,字段user_name,role_name

  2. SQLServerJDBC驱动程序考到/common/lib

  3. server.xml中的元素下加入元素:

  factory

  org.apache.commons.dbcp.BasicDataSourceFactory

  url

  jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=guard

  password

  229

  maxWait

  10000

   maxActive

100

   driverClassName

   com.microsoft.jdbc.sqlserver.SQLServerDriver

   username

   sa

   maxIdle

   30

  1. server.xmlweb应用对应的元素中加入元素:

debug="99"dataSourceName="jdbc/BaronDB"userTable="b_users"userNameCol="user_name"userCredCol="user_password"userRoleTable="b_user_roles"roleNameCol="role_name"/>

 *.web.xml中无须加入声明对DataSource的引用

*.在页面中调用request.getRemoteUser()可得到当前访问的用户名