if user.hasRight("delete") then //可以执行delete操作或显示菜单
user.hasRight("delete")就是验证用户有没有"delete"权限。

解决方案 »

  1.   

    class user
    public boolean isHaveright(Right right)
    public delete()
    {}
      

  2.   

    class user
    public addright(Right right)
    .
    .
    .
    public boolean isHaveright(Right right)
    public delete() throws NoRightException
    {
      if (!ishaveright) throw new norightexception
    }
      

  3.   

    给ycats(加菲猫)能够交个朋友吗,你对这个东西比较懂,我现在碰到了许多的问题可以吗?
    我qq9620678  邮箱是[email protected].
    我上面的userright的第三个字段是具体的权限,和具体的操作怎么样联系起来,
    还有假设都设置在一个页面上的化,怎么样来屏蔽他,说的具体电可以吗。
    if user.hasRight("delete") then 
    这个then后面,具体跟什么呢,能够说的具体点吗?
    你这么做,没有屏蔽掉菜单中的某个项目吗?
    是否,某个权限该列出其具体的地址例如"delete"其具体的功能模块是delete.jsp怎么样联系,
    你一般设计多少表来完成这个任务,对了
    菜单的动态生成怎么样做,可以和我说说吗??
      

  4.   

    给nielinjie(nielinjie) 
    你好动态菜单怎么样来作,你答的东西,是有点好处,但是我上诉表当中的第三个地段,
    其是对应某个操作的,你这么作可以吗,你可以给我例子看看吗,假设我用户权限表设计好了。
    怎么样具体来实现操作,
    就是说,某个用户进来了,在userright里面都设置好了其具有那些权限,但是到了具体的页面当中的话,我怎么样来实现其具有的权限,呢,是和具体的操作程序的id联系起来呢,还是怎么样来处理
    可以给我例子看看吗,
    [email protected]
      

  5.   

    简单地说吧
    比如作为user的一个方法(请勿实际使用,不是良好的方法)
    public booleanuser.hasRight(String  rightname){
    //select * from userright where username=this.username and samright=rightname
    //反正就是去数据库取看是否这个人有这个权限
    if(rs.next())
    return true;
    else
    return false;
    }
    那么在现实菜单时
    <%
    if user.hasRight("delete") { %>
    <TD><A href="delete.jsp">删除</A></TD>
    <% } %>
     
      

  6.   

    给ycats(加菲猫)
    userright
    ------------------------
    username  usergroup    samright
    cjjtlg      cjj        createid
    cjjtlg      cjj        delete
    cjjtlg      cjj          companynew
    ----------------------------------------------
    还有一个是具体的权限表(不知道我那么作是否可以拉)
    adminright
    -------------------------
    samright     rightname              rightid
    createid      创建                   sam_create.jsp
    delete        删除                   sam_delete.jsp
    companynew    公司人员建立            sam_companynew.jsp
    我现在想把功能都放在菜单上面,不同的用户进来后,经过判断,怎么样动态显示菜单。
    怎么样和具体的功能模块相互联系起来。
    假设有个cjjtlg用户进来了按照第一个表看有三个功能,怎么样具体在菜单上面显示。
    这个功能具体怎么做。还有最好设计那些标
    能够给我例子看看吗,
      

  7.   

    源码在我原来的公司那里,没办法啦。
    我说了,你首先完成判断(我给的是一种思路,你要用良好设计的方法)
    根据判断结果用我前面讲的
    <%
    if user.hasRight("delete") { %>
    <TD><A href="sam_delete.jsp">删除</A></TD>
    <% } %>
    这样就只有有删除权限的人才能看到这个功能链接(你可以用javascript把连接做成按钮之类的)其他的,也就类视啦
    或者换个思路
    你根据用户选择所有它的权限
    比如cjjtlg,可以得到string[] rights={"createid","delete","companynew"}
    再根据rights到adminright获取String[] rightsname={"创建","删除","公司人员建立"}和相应URL  String[] urls={"XXX.jsp"...}
    你在页面上用
    <% for (int i=o;i<rights.length;i++){ %>
    <TD><A href="<%= urls[i] %>"><%= rightsname[i] %></A></TD>
    <% } %>
    就可以啦。(记得在进入XXX.jsp后也检测一下权限)
               
      

  8.   

    问一个简单的问题,怎么样把ResultSet rs,rs当中某列的数据放到数组当中去
      

  9.   

    ycats(加菲猫)
    为什么记得在进入XXX.jsp后也检测一下权限,什么意思,
    这样就只有有删除权限的人才能看到这个功能链接(你可以用javascript把连接做成按钮之类的)
    怎么样用javascript来作按钮,有有没有好的网站推荐给我看看先拉!
    这个东西我,还没有高定呢?
      

  10.   

    都说得太明白就没有意思啦。要学会找书看,学习。
    进入XXX.jsp后也检测一下权限是防止别人直接打开XXX.jsp,不经过你的功能链接。
    用javascript来作按钮,就是用HTML的按钮,onclick()调用 form.submit(),找本js的书,都有的。
      

  11.   

    给楼上的兄弟我该怎么来判断
    进入XXX.jsp后也检测一下权限是防止别人直接打开XXX.jsp,不经过你的功能链接。
    给各方法好不好啦,我谢谢拉!!!
      

  12.   

    <% if user.hasRight("delete") { %>
    //Your Jsp code
    <% } 
    else { %>
    //call No rights jsp
    <% } %>
      

  13.   

    给楼上的兄弟,你在解jsp代码的时候,这些表单,和jsp代码都是混起来写的还是怎么样的。
    我感觉在解jsp代码的时候经常需要用到javascript这个工具。诶知道的东西寒士真多啦。
    你的写程序风格式怎么样的。能够说说吗??
    还有假设我需要打印功能,有没有什么空间的
      

  14.   

    真正的软件系统是分工完成的。我一向就是不管自己会不会,哪个领域的东西有那个人来完成,我不会一个人全做的(所以老板不喜欢我这样的)。比如说你那样的系统,我一般是安排JSP工程师(页面设计人员啦)+项目工程师(组合配置人员,主要完成servlet调度)+JavaBean工程师(业务逻辑),当然,还有些系统工程师提供数据库访问接口。呵呵,老板每次都皱眉说,要这么多人?先几个做着吧。其实最起码要把JSP设计和java程序设计分开。
      

  15.   

    我们这里页面设计师美工完成的,其他具体的动态功能有我来完成,什么javabean工程师是写写包吗
      

  16.   

    我写了以下程序调试点时候$错误,但是出现代史空白的东西为什么
    <!--测试权限程序如何生成-->
    <%@page language="java"%>
    <%@page import="java.io.*"%>
    <%@page import="java.sql.*"%>
    <%@page import="work.com.data.*"%>
    <%@page contentType="text/html;charset=gb2312"%>
    <%
    opendb data = new opendb();
    String username1=request.getParameter("username");
    String password1=request.getParameter("password");
    String sql="select * from sam_user where username='"+username1+"' and password='"+password1+"'";
    ResultSet rs;
    rs=data.executeQuery(sql);
    if(rs.next()){
    String sqll="select rightname,rid from sam_user,sam_user_prog,right where sam_user.username='"+username1+"' and sam_user_prog.username='"+username1+"' and right.prog_id=sam_user_prog.prog_id ";
    ResultSet rs1;
    %>
    <!--现在的任务是怎么样把在sam_user当中用户所具有的prog_id给取出来放在某个数组当中去-->
    <HTML>
    <HEAD>
    <TITLE> test </TITLE>
    <META http-equiv="content-Type" content="text/html;charset=gb2312">
    </HEAD>
    <BODY bgcolor="#FFCCFF" text="#0000">
    <div align="center"><font size="6" color="#330033">用户登陆:</font></div>
    <form method="post" name="name">
    <table width="50%" border="1" height="100" align="center" cellspacing="0" cellpadding="0">
     <tr align="center">
               <td align="center"><font color="#FF6666">用户名称:</font></td>
     <td><input type="text" name="username"></td>
     </tr>
    <tr align="center">
             <td align="center"><font color="#00CCCC">密码:</font></td>
            <td><input type="password" name="password"></td>
    </tr>
    <tr align="right">
              <td><input type="submit" name="name2" value="确定"></td>
    </tr>
    <tr>
    <%
    rs1=data.executeQuery(sqll);
    String[] rightname=null;
    String[] rightid=null;
    int i=0;
    while(rs1.next()){
    rightname[i]=rs1.getString("rightname");
    rightid[i]=rs1.getString("rid");
    i++;
     }
    for (int n=0;n<rightname.length;n++){
    %>
    <tr>
    <TD><A href="<%=rightid[n]%>"><%=rightname[n]%></A></TD>
    </tr>
    <%}
    }
    %>
    </form>
    </table>
    </BODY>
    </HTML>