chinasoft_b 2008-08-11 11:21
浏览 214
已采纳

action层中权限访问的问题

最近我在学习J2EE,在action层中有很多的方法比如:
newsDoc.do?cmd=update 这个方法必须要登陆后才能访问,
newsDoc.do?cmd=list 这个方法则可以不需要登陆也能访问.

大体也就是有很多的crud(增\删\改\查) 而有一些增\删\改是需要用户登陆后才能访问调用这个方法的.
而有的地方比如查\增则不需要登陆也可以访问调用这些方法.

没有使用权限框架比如acgei 就是普通的session记录用户登陆.请问应该如何最优的设计呀.

  • 写回答

3条回答 默认 最新

  • qichunren 2008-08-11 11:54
    关注

    maoweiwer,我终于看到有人有这样的需求了,我以前用ssh自己写了一个,现在我把它用rails实现了,不知道能不能帮你.
    我是把xxxAction.do这样的保存到模块表中,把cmd=delete,cmd=list这样的保存到功能表中,用户的权限和这些模块表和功能表关联,在用户登录的时候,通过关联查询把用户的权限列表保存在session中,
    也户的权限列表其实就如同这个样子:
    newsDoc.do?cmd=update
    newsDoc.do?cmd=list
    每一次用户请求某一个链接的时候,有一个权限过滤器会起作用的,它会先取请求的url与session中的权限列表对比,如果包含,说明是经过授权的,可以继续执行,否则重定向到"你没有此操作权限"的页面.

    我用rails 做的
    [url]http://rails2.iteye.com/blog/215074[/url]
    由于是rails ,所以代码比java少得很多,不知道你了不了解一点rails和ruby,其实你只要把这篇文章中所讲的思想搞懂了就可以有助于你这个权限控制了.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应