我用NetBeans平台创建了一个桌面应用程序项目,一切可视化,都挺好。
但我想加入用户权限,就是每个用户登录后,他能操作的菜单项可用,不能操作的菜单项就变灰,不可用。
不知NetBeans使用的这个swing框架有提供这方面的功能吗?
我在网上搜到,说NetBeans提供一个用户设定管理(User settings Management),怎么用啊?
各位路过的大虾,帮我一把…
感谢!!A Li Ga Duo!!!

解决方案 »

  1.   

    如果是得在数据库里就麻烦了,别的桌面程序框架不需要在数据库里配置的(比如,Spring RCP)。有没有通过配置可以实现的办法?
      

  2.   

    可以使用Preferences保存,不要保存密码明文,保存密码的MD5/SHA1。
      

  3.   

    对于菜单项,可以用setEnabled来设置其可用或者不可用,对于默认的UI,不可用的时候就是灰色的。那么你说的每个用户登录后,你可以在登录的监听代码中,针对不同的用户,进行不同的设置,设置一些菜单项可用或者不可用。而且,你还可以使用JMenu的remove方法动态的移动一些不可用的菜单项,当权限高的用户登录时,动态的add一些菜单项。这些你都可以自由的控制
      

  4.   

    jdk6 内置了js(rhino),可以用来写配置,
      

  5.   

    “每次修改或增加都得改动代码”,怎么会呢。你当初在设计的时候,不就考虑好了吗,哪种级别的用户可以使用哪些按钮。这样,在你的登录监听代码中,只是if else的事情。
      

  6.   

    难道非得使用Spring RCP了吗?神啊
      

  7.   

        楼主,如果没有数据库,你的每个用户的权限(就是每个用户能操作的菜单),随时可能变化,所以,如果没有数据库,就搞个配置的文本文件或者xml来存放,程序通过读取这里的配置,来决定哪项菜单能显示,哪项不能显示。但是这样有个问题,如果我知道配置文件了,也知道怎么修改了,任何用户都可以修改,为了解决这个问题,可以采用加密的办法。新增或者修改权限,通过程序来完成。同样,有什么权限,也是根据用户名来的吧?总得有个密码吧,如果没密码,我用最大权限的用户登录,你怎么办?所以,密码也要加密。
        不知道Spring RCP是干什么的,不需要这么麻烦吧......
      

  8.   

    非常感谢你的热心。Spring RCP这个东西内置了对权限的支持,就相当于你说的有一个配置文件,但对这个配置文件的读取和对菜单的设置是Spring RCP框架内部已经写好的。但Spring RCP太繁琐了,很不喜欢…