1

Web アプリケーションに Spring Security を使用しています デフォルトでは、認証メカニズムによってユーザーは「ホーム」にリダイレクトされますが、URL によってアプリケーションの 1 つの画面に直接アクセスすることが可能です。

Web ブラウザーに URL を入力すると、すべてが正常に機能します。

しかし、Excelシートに同じURLのハイパーリンクがある場合、ログインページが表示され、特定の画面にアクセスしたいのに「ホーム」に進みます。

OpenOffice で Excel シートを開くと、すべてが正常に機能しています。あたかも Web ブラウザーに URL を入力しているかのように。

これが私の構成です:

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:context="http://www.springframework.org/schema/context"
xmlns:security="http://www.springframework.org/schema/security"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd  
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
     http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd"> 

<security:http auto-config="true" access-denied-page="/accessDenied.jsp" use-expressions="true" access-decision-manager-ref="accessDecisionManager" entry-point-ref="entryPoint">
<security:intercept-url pattern="/css/*.css" access="permitAll" />
<security:intercept-url pattern="/images/**" access="permitAll" />
<security:intercept-url pattern="/javascript/*.js" access="permitAll" />
<security:intercept-url pattern="/j_spring_security_check" access="permitAll"/>
<security:intercept-url pattern="/register.*" access="permitAll" />
<security:intercept-url pattern="/registerUser.*" access="permitAll" />
<security:intercept-url pattern="/login.*" access="permitAll" />
<security:intercept-url pattern="/restore/*" access="permitAll" />
<security:intercept-url pattern="/customer/**" access="permitAll" />
<security:intercept-url pattern="/logout.*" access="isAuthenticated()" />
<security:intercept-url pattern="/j_spring_security_logout"  access="isAuthenticated()"/>
<security:intercept-url pattern="/index.*"  access="isAuthenticated()" />
<security:intercept-url pattern="/admin/**" access="hasRole('ADMIN')" />
<security:intercept-url pattern="/template/*" access="isAuthenticated()" />
<security:intercept-url pattern="/editor/*" access="hasRole('EDITOR')" />
<security:intercept-url pattern="/creator/*" access="hasRole('CREATOR')" />
<security:intercept-url pattern="/task/*" access="hasAnyRole('CREATOR','EDITOR')"/>
<security:intercept-url pattern="/ajax/*" access="hasAnyRole('CREATOR','EDITOR')"/>
<security:intercept-url pattern="/**" access="isAuthenticated()" />
<security:form-login default-target-url="/index.jsp" authentication-failure-url="/login.jsp?login_error=true"/>
<security:logout  invalidate-session="true" logout-url="/logout.jsp" logout-success-url="/login.jsp"/>
</security:http>

<security:authentication-manager alias="authenticationManager">
    <security:authentication-provider ref="userEnvironmenttStatisticService" />
</security:authentication-manager>

<security:global-method-security secured-annotations="enabled" pre-post-annotations="enabled">
    <security:expression-handler ref="expressionHandler" />
</security:global-method-security>

<bean id="userEnvironmenttStatisticService" class="com.epam.crs.security.UserEnvironmenttStatisticService">
    <property name="userDetailsService" ref="userDetailsService" />
</bean>

<bean id="accessDecisionManager" class="org.springframework.security.access.vote.AffirmativeBased">
    <constructor-arg>
        <list>
            <ref bean="notDeletedVoter" />
        </list>
    </constructor-arg>
</bean>

<bean id="notDeletedVoter" class="com.epam.crs.security.NotDeletedVoter" />

<bean id="entryPoint" class="com.epam.crs.security.ParameterizedLoginUrlAuthenticationEntryPoint">
    <constructor-arg value="/login.jsp"/>
</bean>

<bean id="customPermissionEvaluator" class="com.epam.crs.security.CustomPermissionEvaluator" />

<bean id="expressionHandler"
    class="org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler">
    <property name="permissionEvaluator" ref="customPermissionEvaluator" />
</bean>
</beans>

誰でも私を助けることができますか?多分あなたはそれを修正する方法を知っていますか?

4

3 に答える 3

1

私は同じ問題を抱えていましたが、これは私を助けてくれました: http://support.microsoft.com/kb/218153

Microsoft Fix it 50655 をインストールします: http://go.microsoft.com/?linkid=9769998

于 2013-08-28T11:30:05.077 に答える
0

Web ブラウザーに URL を入力すると、すべてが正常に機能します。

しかし、Excelシートに同じURLのハイパーリンクがある場合、ログインページが表示され、特定の画面にアクセスしたいのに「ホーム」に進みます。

これは単に春によって決定されるわけではありません。URL が異なっているか、セッションの有効期限が切れています。

于 2013-06-11T09:17:31.130 に答える