所有的web的认证在验证的配置的web.xml文件基本上一致:
1.配置web.xml
<!--登录方式-->
<login-config>
<auth-method>BASIC</auth-method> <!--BASIC基本的弹出输入框-->
</login-config>
<!-- 定义角色 -->
<security-role>
<role-name>leader</role-name>
</security-role>
<security-role>
<role-name>employs</role-name>
</security-role>
<!-- 管理模块和角色绑定 -->
<security-constraint>
<web-resource-collection>
<web-resource-name>list module</web-resource-name> <!--起名-->
<url-pattern>/list/*</url-pattern>
<!--使用区域[可以配置多个,从而使你做的更精确]-->
<http-method>GET</http-method> <!--请求方式-->
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint> <!--使用哪种角色-->
<role-name>leader</role-name>
<role-name>employs</role-name>
</auth-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>manager module</web-resource-name>
<url-pattern>/manager/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>leader</role-name>
</auth-constraint>
</security-constraint>
2.创建文件
在webRoot下建立list和manager文件夹,并在其建立几个jsp页面.
insert.jsp写几个超链接,分别连接到各个文件夹下的jsp页面.
<!----------------------------------jboss和tomcat的使用------------------------------->
1.JOBSS的文件认证配置,默认的domain:other:读取src的下面两个配置文件
users.properties
username=password
zhouhr=888888
eylen=888888
zhr=888888
roles.properties
username=roles
zhouhr=leader
eylen=employs
zhr=employs
2.tomcat使用数据库:
配置tomcat/conf/server.xml
整个tomcat只能使用一种方式认证:要不配置文件,要不连接数据库。所以要将之前的方式注释:
<!--
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
-->
配置已数据库相关的realm,再此我使用mysql数据库,[oracle数据库也类似,直接改它提供的(注释)]
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="org.gjt.mm.mysql.Driver"
connectionURL="jdbc:mysql://localhost/web"
connectionName="root" connectionPassword="919"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
在Mysql数据库中建数据库:create database web;
建表:create table users(user_name varchar(20),user_pass varchar(20));
create table user_roles(user_name varchar(20),role_name varchar(20));
插入数据:
insert into users values('zhouhr','888888');
insert into users values('eylen','888888');
insert into users values('zhr','888888');
insert into user_roles values('zhouhr','leader');
insert into user_roles values('eylen',employs');
insert into user_roles values('zhr','employs');
二、jboss配置domain使用数据源
一.
jboss默认的domain是other:
默认读取src下的users.properties;roles.peroperties
为了我们根据自己的数据去角色分配我们要定义自己的domain
jboss-4.2.0.GA/server/default/conf
login-config.xml
<application-policy name = "myDomain">