汗,为了做birtxml数据源,煞费心机,捏造了上篇的xml数据源后,沾沾自喜,不料世事难料,人算不如天算
这是action
<package name="birtdatasource" extends="xwork-default" namespace="/birtdatasource/xml">
<action name="armrptxml" class="armmonthreporter"
method="doStream">
<result type="stream">
<param name="contentType">text/xml</param>
<param name="inputName">xmlStream</param>
<!--
<param name="contentDisposition">inline;filename=data.xml</param>
-->
<param name="bufferSize">4096</param>
</result>
</action>
</package>
这是acegi spring配置
<property name="objectDefinitionSource">
<!-- IS_AUTHENTICATED_ANONYMOUSLY -->
<value><![CDATA[
CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
PATTERN_TYPE_APACHE_ANT
/css/**=ROLE_SUPERVISOR,ROLE_USER,ROLE_ADMIN,ROLE_VIEWER,ROLE_LEADER
/javascript/**=ROLE_ANONYMOUS,ROLE_SUPERVISOR,ROLE_VIEWER,ROLE_LEADER
/dwr/interface/**=ROLE_SUPERVISOR,ROLE_ANONYMOUS,ROLE_VIEWER,ROLE_LEADER
/images/**=ROLE_SUPERVISOR,ROLE_USER,ROLE_ADMIN,ROLE_VIEWER,ROLE_LEADER
/*.action*=ROLE_SUPERVISOR,ROLE_USER,ROLE_ADMIN,ROLE_VIEWER,ROLE_LEADER
/jsp/**=ROLE_SUPERVISOR,ROLE_USER,ROLE_ADMIN,ROLE_VIEWER,ROLE_LEADER
/**=ROLE_ANONYMOUS,ROLE_ADMIN,ROLE_VIEWER,ROLE_LEADER,ROLE_SUPERVISOR
/birtdatasource/xml/armrptxml.action?*=ROLE_ANONYMOUS,ROLE_SUPERVISOR,ROLE_ADMIN,ROLE_VIEWER,ROLE_LEADER
]]></value>
</property>
/armrptxml.action?*=ROLE_ANONYMOUS,ROLE_SUPERVISOR,ROLE_ADMIN,ROLE_VIEWER,ROLE_LEADER
加红加粗部分是原来 配置,actino放在根目录下后来配置了 namespace 如上
就这配置,死活过不去,每次都受到 accessdeinied 错误,转发到错误登录页
于是,下载acegi代码,编译,加入工程,debug,跟踪,就差重新实现voter了 我快发疯了,最后实在没办法了,灵机一动,为action配置了namespace,访问,估计要好,竟然ok了,我这个晕。
访问url 以前
引用
http://host/stat/birtview.actoin?xmlDataUrl=http://host/stat/armrptxml.action?reporter.id=SDFUIORERE@$##IEDFDF
这种情况下,在用户登录并拥有此url的情况下,在浏览器里访问该url可以输出xml,但是
如果在代码中用URL来解析xml 跑异常 Access is Denied
换成 下面形式
引用
http://host/stat/birtview.actoin?xmlDataUrl=http://host/stat/birtdatasource/xml/armrptxml.action?reporter.id=SDFUIORERE@$##IEDFDF
一切OK ,我晕,希望大家引以为戒!!我这个晕,休息去,太累了!!!
分享到:
相关推荐
7. **用户权限管理**:标签中的“用户权限”表明,这个资源可能会介绍如何在Acegi中定义用户角色和权限,以及如何通过Acegi实现不同用户对不同资源的访问控制。 8. **UML图解**:`um`开头的文件可能是UML类图、序列...
在 Java 应用开发中,Acegi 提供了一套强大的工具来管理用户权限和访问控制,使得开发者能够更专注于业务逻辑,而不是安全性问题。在这个“acegi 详细实例”中,我们将会探讨如何使用 Acegi 来实现应用程序的安全...
Acegi安全框架是Spring Framework的一个强大补充,专为应用程序安全设计。它提供了全面的身份验证、授权和服务保护功能,使得开发者可以轻松地在Spring应用中实现复杂的安全需求。本例将探讨Acegi安全框架的主要概念...
以一个典型的Web应用为例,其权限控制系统需要能够处理用户登录认证、权限检查、安全拦截等多个方面。在用户登录时,Acegi安全框架可以负责用户身份的验证,比对用户提交的信息与安全数据库中的记录,确保用户身份的...
随着业务的发展,权限验证的逻辑散布于系统的各个角落,形成了一种“切面”,但这种“切面”并未得到有效管理和隔离。 AOP(面向切面编程)和Spring Security的出现,正是为了解决这一问题。它们允许我们将系统级的...
3. **版本管理工具:CVS** - CVS是一种源代码版本控制系统,它可以帮助团队有效地管理源代码的版本控制,追踪代码的变化历史。 4. **第三方支持框架** - 本系统使用了多个第三方框架和技术,包括但不限于: - **...
Struts结合Spring Security(原名Acegi)等安全框架,可以实现用户角色分配、权限控制等功能。通过定义不同的角色,如管理员、普通用户等,可以限制用户访问特定的资源。Struts的ActionMapping可以在Action执行前...
- **定义**:Acegi是一个基于Spring框架的安全框架。 - **特点**:提供全面的安全服务,如认证、授权等。 - **应用场景**:在SSH框架中,Acegi被用于实现安全机制,确保用户请求经过认证和授权后才能访问受保护的...