Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
利用Tocmat安全域实现安全认证

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

安全域功能是Tomcat内置功能,在org.apache.catalina.Realm接口中声明了把一组用户名、口令及所关联的角色集成到Tocmat中的方法。

内存域:MemoryRealm 从XML文件中读取安全验证信息并存入内存中。
JDBC域:JDBCRealm 通过JDBC驱动程序访问存放在数据库中的信息。
数据源域:DataSourceRealm 通过JDBC数据源访问存放在数据库中的信息。
JNDI域:JNDIRealm 通过JNDI provider访问存放在基于LDAP的目录服务器中的安全验证信息。

设置资源安全约束

在web.xml中加入<security-constraint>元素

<security-constraint>
 <display-name>MZT</display-name>
 <web-resource-collection>
   <web-resource-name>protected test</web-resource-name>
   <url-pattern>/test/*</url-pattern>
   <http-method>POST</http-method>
   <http-method>GET</http-method>
 </web-resource-collection>
 <auth-constraint>
  <role-name>mztadmin</role-name>
 </auth-constraint>
</security-constraint>
<login-config>
 <auth-method>BASIC</auth-method>
 <realm-name>test realm</realm-name>
</login-config>

设置JDBC域

<Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
driverName="org.gjt.mm.mysql.Driver"
connectionURL="jdbc:mysql://localhost/mzt"
connectionName="root" connectionPassword=""
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />

<Realm className="org.apache.catalina.realm.DataSourceRealm" debug="99"
dataSourceName="jdbc/tomcatusers"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name"/>

在MySQL中执行以下SQL语句:

#########

#用户表
create table users(
user_name varchar(15) not null primary key,
user_pass varchar(15) not null
);

#用户角色表
create table user_roles(
user_name varchar(15) not null,
role_name varchar(15) not null,
primary key(user_name, role_name)
);

insert into users values('mzt','test');
insert into user_roles values('mzt','mztadmin');

如果有什么问题,可与我联系: [email protected]




相关文章

相关软件