posts - 193,  comments - 520,  trackbacks - 0

在数据库里新建两个表
A、用户表
create table users (user_name varchar(20) not null,
                               user_pass varchar(20) not null,
                               PRIMARY KEY (user_name)) ;
B、用户与角色关联表
create table user_roles (user_name varchar(20) not null,
                                        role_name varchar(20) not null,
                                        PRIMARY KEY (user_name)) ;
C、插入数据
insert into users values('user1', 'password');
insert into user_roles values('user1', 'manager');

在tomcat的server.xml里加入描述
      <Realm  className="org.apache.catalina.realm.JDBCRealm"
              driverName="org.gjt.mm.mysql.Driver"
              connectionURL="jdbc:mysql://localhost/databaseName"
              connectionName=yourname connectionPassword=yourpassword
              userTable="users" userNameCol="user_name" userCredCol="user_pass"
              userRoleTable="user_roles" roleNameCol="role_name" />

在自己应用程序的web.xml里加入描述(基于表单)
<security-constraint>
  <web-resource-collection>
   <web-resource-name>My Test</web-resource-name>
   <url-pattern>/get.jsp</url-pattern>
  </web-resource-collection>
  <auth-constraint>
    <role-name>manager</role-name>    //能够访问的角色,可以多个
  </auth-constraint>
</security-constraint>

<login-config>
  <auth-method>FORM</auth-method>
    <realm-name>My Test</realm-name>
  <form-login-config>
  <form-login-page>/login.jsp</form-login-page>
  <form-error-page>/fail_login.html</form-error-page>  //认证失败后跳转的页面
  </form-login-config>
</login-config>

登录表单必须包含输入用户姓名和口令的字段,它们必须被分别命名为j_username和j_password,表单将这二个值发送给j_security_check逻辑名字。
  下面是一个该表单如何在HTML网页中实现的例子:
<form method="POST" action="j_security_check">
  <input  type="text" name="j_username">
  <input  type="password" name="j_password">
    <input  type="submit" value="确定"/>
</form>

这样当对get.jsp进行访问时,tomcat就会自动转到login.jsp页面实现认证。对于简单的认证,小型系统,采用Tomcat实现容器内认证是方便的。



http://www.blogjava.net/ronghao 荣浩原创,转载请注明出处:)
posted on 2005-12-28 14:00 ronghao 阅读(1396) 评论(3)  编辑  收藏 所属分类: 表现层相关

FeedBack:
# re: 用Tomcat实现容器内认证
2006-11-21 14:17 | 没弄明白
没实现啊
能把具体的代码发给我吗 我想看看 form的那个啊

谢谢  回复  更多评论
  
# re: 用Tomcat实现容器内认证
2007-06-07 10:41 | jayboy
请问一个问题:
验证成功后将返回到哪个页面,是当前页面么?   回复  更多评论
  
# re: 用Tomcat实现容器内认证
2007-06-08 17:37 | ronghao
@jayboy
应该是这样  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 
<2005年12月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

关注工作流和企业业务流程改进。现就职于ThoughtWorks。新浪微博:http://weibo.com/ronghao100

常用链接

留言簿(38)

随笔分类

随笔档案

文章分类

文章档案

常去的网站

搜索

  •  

最新评论

阅读排行榜

评论排行榜