社区
Java EE
帖子详情
[讨论]struts模式的系统中,如何更好的处理权限控制
孬毛毛
2003-11-10 10:57:52
欢迎大家讨论!
...全文
124
45
打赏
收藏
[讨论]struts模式的系统中,如何更好的处理权限控制
欢迎大家讨论!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
45 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jiez
2003-12-02
打赏
举报
回复
还是不怎么会,学习ing,有没有具体的代码或者相关的资料呢??
raymond323
2003-11-28
打赏
举报
回复
up
xinshou1979330
2003-11-20
打赏
举报
回复
顶
Struts 学习ing
sallina
2003-11-20
打赏
举报
回复
mark and up
zcjl
2003-11-20
打赏
举报
回复
谢谢peopleking(蓝色幻想)和jiganghao(JH)两位
我再去试试看
jiganghao
2003-11-20
打赏
举报
回复
to zcjl:
put this line in your jsp:
<%@ page extends="AuthenticationJSP" %>
though I dont recommend this method. put such logic in controller (servlet or base action) or filter is better.
peopleking
2003-11-17
打赏
举报
回复
例子:
<action path="/admin/InsertUserProfile"
name="ModifyUserProfileForm"
scope="request"
input="/admin/insertUserProfile.jsp"
validate="true"
type="kaichuang.admin.action.InsertUserProfileAction">
<set-property property="loginRequired" value="true"/>
<forward name="success" path="/saveOk.jsp"/>
</action>
当然要修改ActionMapping,或者它的继承类ActionMappingSupport中添加
protected boolean loginRequired = false;
public ActionMappingSupport()
{
super();
}
public boolean isLoginRequired()
{
return loginRequired;
}
public void setLoginRequired(boolean loginRequired)
{
this.loginRequired = loginRequired;
}
然后在web.xml的<servlet></servlet>之间添加
<init-param>
<param-name>mapping</param-name>
<param-value>com.j2ee.waf.controller.web.action.ActionMappingSupport</param-value>
</init-param>
super_zzw
2003-11-14
打赏
举报
回复
JAAS(java认证和授权体系结构), 它可以让你的权限管理和控制独立于你的应用程序, 高度可插拔(只要修改配置文件就可以实现权限控制),非常有限的编程.
它是J2EE安全技术中的一个部分,网上有很多资料,或者直接到sun公司的中国开发者网站上去找.
temony
2003-11-14
打赏
举报
回复
mark
jakarta99
2003-11-13
打赏
举报
回复
我不建議修改 struts source code
只會造成之後的移植性的問題
修改 RequestProcessor
不如修改所有 Action extends BaseAction
將 execute() 都去做 Role-base Authorization
這就是 pow2acl 類似的觀念
不過 pow2acl 網路的版本是 struts 1.0..
而你需要的是了解他的 user-role-permission 的關係
去製作你真正想要用的 authorization 機制
此外, 製作 filter 增加文件的安全性也是很重要的機制
可以結合 jaas , 製作 web.xml 設定 role - group 的關係
建立一個 isValidUser and etc.. servlet auth 的機制
這是一個很大的課題
如何配合 LDAP 等等製作相關且共通式的平台
需要很多經驗與客制化
zcjl
2003-11-13
打赏
举报
回复
“如果使用了STRUTS搭建平台,怎样调EJB”
对EJB了解不多,这个恐怕没法给意见了
抱歉!
zcjl
2003-11-13
打赏
举报
回复
<action path="/test"
type="test.TestAction"
input="/main.jsp">
<set-property property="isCheckRequired" value="true"/>
<set-property property="right" value="test"/>
</action>
这是我的写法,结果
org.apache.jasper.JasperException: Cannot find ActionMappings or ActionFormBeans collection
zcjl
2003-11-13
打赏
举报
回复
回复人: peopleking(蓝色幻想) ( ) 信誉:99 2003-11-13 09:16:00 得分:0
如果使用BaseAction的话,是不是要在每一个Action中,将功能ID hardCode 进去,这样限制是不是太多了?
一语中的,这就是我希望能改进的地方。因为总觉得很别扭
“我们同样可以继承RequestProcessor,ActionMapping”
这个倒要讨教一下,因为继承ActionMapping容易,但怎么才能让struts调用我们自己的ActionMapping?从前面的回复可以看出,我不是很赞同去修改struts的源代码的,如果是对自己的应用程序(如ActionForm,Action)做相应调整的话,倒还可以接受
zcjl
2003-11-13
打赏
举报
回复
to peopleking(蓝色幻想),
请问在struts-config.xml中
<set-property property="loginRequired" value="true"/>加在哪儿?
我放在<action></action>中和<forward>并列,失败了
在<controller></controller>之间倒是有类似的写法:
<set-property property="inputForward" value="true"/>
但与你叙述的
“然后在struts-config.xml中对需要登录的DO,添加
<set-property property="loginRequired" value="true"/>;”不符合啊
peopleking
2003-11-13
打赏
举报
回复
看来大家都是高手,请问一个问题,如果使用了STRUTS搭建平台,怎样调EJB,PETSTORE思想不错,但没法移植过来,我的做法是在ACTION中通过SERVICELOCATOR调EJBHOME,这样对EJB对象有一个缓存,不知大家有什么更好的建议?
peopleking
2003-11-13
打赏
举报
回复
如果使用BaseAction的话,是不是要在每一个Action中,将功能ID hardCode 进去,这样限制是不是太多了?我们同样可以继承RequestProcessor,ActionMapping,效果一样,灵活性其不是大增!这样我对STRUTS就没有做什么修改!
zcjl
2003-11-13
打赏
举报
回复
to jakarta99(99% jakarta),
----------------
Role-Permission 的關係
應該是 1:* 的關係
----------------
这个跟我们的做法有些不一致
我认为Role-Permission应该是n:n的关系
先为整个系统权限做权限(对系统的某种操作)的划分,再为每一个角色分配其可以拥有的权限
这样一来,一个权限可以为多个角色所拥有,而每个角色也可以有多个权限
我们做了一个role_right映射表,用来描述两者间的关系
现在我们要做的是:对用户(赋予某种角色)对系统的某个操作(.do),验证其是否具有完成该操作的权限。
所以我才需要对securityfilter做相应修改
zcjl
2003-11-13
打赏
举报
回复
to peopleking(蓝色幻想),
我的观点同jakarta99(99% jakarta)一样,
“不建議修改 struts source code
只會造成之後的移植性的問題”
如果非要对struts做某些修改的话,我更宁愿参照pow2acl的做法:
写一个继承自Action的基类,在里面进行登录及权限验证
然后所有的.do都继承这个基类
(事实上,这也是我目前的做法)
而对于jsp的限制,用filter是个不错的主意
securityfilter是个现成的东东,只需做少许修改,就可拿来为我所用了 ^_^
谢谢两位的建议,我再看看去
另:JAAS是什么东东啊,第一次听说
看来我还是太肤浅了
alluser
2003-11-13
打赏
举报
回复
学习
孬毛毛
2003-11-13
打赏
举报
回复
向高手们学习~~~再顶一下先~~~:)
加载更多回复(25)
Struts
2
权限
验证拦截器实战教程
本文还有配套的精品资源,点击获取 简介:在
Struts
2框架
中
,拦截器是用于增强应用功能的重要组成部分,尤其是
权限
验证拦截器对于确保应用安全至关重要。该实例将详细阐述如何创建和配置一个
权限
验证拦截器,通过检查用户登录状态和角色
权限
来
控制
访问
权限
。实例内容可能包括拦截器类、配置文件、Action类、测试用例以及视图文件,全面覆盖
权限
验证拦截器的设计与实现。学习该实例,开发者可...
Struts
2与Hibernate整合实现用户管理
系统
本文还有配套的精品资源,点击获取 简介:
Struts
2与Hibernate是Java Web开发
中
关键的框架,前者基于MVC
模式
,简化了Java Servlets和JSP的开发,后者是一个ORM框架,允许使用Java对象操作数据库。本项目将通过整合两者实现用户登录、注册、信息修改、删除和查询功能的用户管理
系统
,旨在提高开发者对这两者框架结合应用的理解,提升开发技能。 ...
Struts
2导出Excel功能实现笔记
Apache
Struts
2是一个灵活的MVC框架,用于创建企业级Java Web应用程序。它是在
Struts
1和WebWork框架的基础上发展起来的,提供了强大的标签库和插件支持,是许多大型应用
系统
的首选框架。随着企业级应用的快速发展,
Struts
2凭借其成熟稳定的性能在Java社区
中
占有一席之地。在这一部分,我们将深入了解Excel文件的基础结构,这对于理解和操作Excel文件是至关重要的。
Struts
2与
Struts
1的对比学习(一)
写在前面:
Struts
1官方已经停止更新,现在用的也比较少,但是了解
Struts
1可以帮助我们
更好
的理解
Struts
2. 我们不能简单的把
Struts
2理解为
Struts
1的升级,甚至可以说这样理解是错误的。
Struts
2与
Struts
1有巨大的差别,
Struts
2以WebWork为核心,吸收了
Struts
1的优点,尽量解决
Struts
1存在的问题。正是这种差距,将两者放到一起对比,可以
更好
的理解
Struts
框架
中
<s:bean>标签的使用方法
Struts
框架作为Java EE应用
中
的一项重要技术,其历史可以追溯到2001年,由Craig McClanahan开发,并随后成为了Apache软件基金会的一个项目。
Struts
1框架在早期的Web开发
中
广泛应用,为开发者提供了一种更为模块化和易于管理的方式来构建MVC(Model-View-Controller)架构的Web应用程序。随着时间的推移,
Struts
框架经历了多个版本的迭代,每个新版本都致力于解决之前版本
中
的问题,提升性能和安全性,并且引入新的特性以适应不断变化的Web开发需求。
Java EE
67,541
社区成员
225,854
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章