运用MD5,JDBC域验证的StrutsMenu动态菜单

 

本人所在学院正在开发一个项目,借这个机会研究了下StrutsMenu和TOMCAT的权限验证功能,在此给大家分享一下,希望能给初学者一点启发,也请大家提出建议,谢谢。

首先配置角色权限,在web.xml中配置如下
  <security-constraint>
   <web-resource-collection>
   <web-resource-name>main function web</web-resource-name>
    <url-pattern>*.jsp</url-pattern>
   </web-resource-collection>
   <auth-constraint>
    <role-name>admin</role-name>
    <role-name>student</role-name>
    <role-name>guest</role-name>
   </auth-constraint>
  </security-constraint>
 
<!--MD5验证-->
  <login-config>
   <auth-method>DIGEST</auth-method>
   <realm-name>Login Realm</realm-name>
  </login-config>
 
  <security-role>
   <role-name>admin</role-name>

  </security-role>
 
  <security-role>
   <role-name>guest</role-name>
  </security-role>
 
  <security-role>
   <role-name>student</role-name>
  </security-role>

在TOMCAT的server.xml中配置JDBC域验证
      <Realm  className="org.apache.catalina.realm.JDBCRealm"
             driverName="com.mysql.jdbc.Driver"
          connectionURL="jdbc:mysql://localhost:3306/mydb"
         connectionName="root" connectionPassword="novell"
              userTable="users" userNameCol="user_name" userCredCol="user_pass"
          userRoleTable="user_roles" roleNameCol="role_name" />
<!--当然别望了在Mysql中建立相应的数据表和字段      -->

配置struts-menu插件,导入struts-menu2.4.2.jar,还需要jstl,standard库
struts-config.xml配置插件
 <plug-in className="net.sf.navigator.menu.MenuPlugIn">
  <set-property property="menuConfig"
   value="/WEB-INF/menu-config.xml" />
 </plug-in>

在menu-config.xml中制作菜单
<?xml version="1.0" encoding="UTF-8" ?>

<MenuConfig>

 <Displayers>
  <!--这里只用到ListMenu风格的菜单 -->
  <Displayer name="ListMenu"
   type="net.sf.navigator.displayer.ListMenuDisplayer" />

 </Displayers>

 <Menus>
 <!--对应admin,student,guest三个权限的功能菜单 -->
  <Menu name="adminMenu" title="admin function" roles="admin">
   <Item name="add" title="admin-add"
    toolTip="Show admin-add function" page="" />
   <Item name="add" title="admin-del"
    toolTip="Show admin-del function" page="" />
   <Item name="extra functions" title="extra functions">
    <Item name="fun1" title="fun1" />
    <Item name="fun2" title="fun2" />
   </Item>
  </Menu>
  <Menu name="studentMenu" title="student function" roles="admin,student">
   <Item name="add" title="student-add"
    toolTip="Show student-add function" page="" />
   <Item name="del" title="student-del"
    toolTip="Show student-del function" page="" />
  </Menu>
  <Menu name="guestMenu" title="guest function">
   <Item name="add" title="guest-add"
    toolTip="Show guest-add function" page="" />
   <Item name="del" title="guest-del"
    toolTip="Show guest-del function" page="" />
  </Menu>
 </Menus>

</MenuConfig>

最后就是index.jsp了
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<%@ taglib uri="http://struts-menu.sf.net/tag" prefix="menu"%>
<%@ taglib uri="http://struts-menu.sf.net/tag-el" prefix="menu-el"%>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt"%>
<%@ taglib uri="http://java.sun.com/jstl/sql" prefix="sql"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
  <title>Struts Menu</title>
 </head>

 <body>
  <!--permissions="rolesAdapter" 权限验证打开-->
  <menu:useMenuDisplayer name="ListMenu" permissions="rolesAdapter"
   bundle="org.apache.struts.action.MESSAGE">
   <menu:displayMenu name="adminMenu" />
   <menu:displayMenu name="studentMenu"></menu:displayMenu>
   <menu:displayMenu name="guestMenu"></menu:displayMenu>
  </menu:useMenuDisplayer>
 </body>
</html>

至此一个简单的struts-menu就完成了,希望能给初学者一点启发,也请给为提出意见,谢谢。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值