我正在使用spring security 3.0。在spring-security.xml中,显示登录页面时出现1个问题。 Web浏览器中没有加载或丢失CSS的login.jsp。所以请解决这个问题..任何帮助我都很感激你。
我的spring-security.xml代码如下所示。
<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-3.0.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.0.3.xsd">
<http auto-config="true" use-expressions="true">
<intercept-url pattern="/login.html" access="permitAll" />
<intercept-url pattern="/logout" access="permitAll" />
<intercept-url pattern="/accessdenied" access="permitAll" />
<intercept-url pattern="/**" access="hasRole('ROLE_USER')" />
<form-login login-page="/login.html" default-target-url="/firstwelcome.html" />
<logout logout-success-url="/logout" />
</http>
<authentication-manager alias="authenticationManager">
<authentication-provider>
<password-encoder hash="md5"/>
<jdbc-user-service data-source-ref="dataSource"
users-by-username-query="
SELECT strUSERNAME, strPASSWORD, CASE blENABLED WHEN 1 THEN 'true' ELSE 'false' END 'ENABLED'
FROM TBLUSERS
WHERE strUSERNAME=?;"
authorities-by-username-query="
SELECT strUSERNAME, strROLENAME
FROM TBLUSERS
WHERE strUSERNAME=?;"
/>
</authentication-provider>
</authentication-manager>
</beans:beans>
和我的login.jsp的标题在下面给出
<link rel="stylesheet" type="text/css" href="css/login.css">
在上面的login.jsp中使用link标签来调用css .. 但不幸的是没有调用..``.plz ...帮我调用login.css文件。 任何帮助我都感激你。
由于
答案 0 :(得分:6)
您需要将此行添加到spring-security.xml
以允许此css
<intercept-url pattern="/css/login.css" access="permitAll"/>
所以您的spring-security.xml
将
<http auto-config="true" use-expressions="true">
<intercept-url pattern="/login.html" access="permitAll" />
<intercept-url pattern="/logout" access="permitAll" />
<intercept-url pattern="/css/login.css" access="permitAll"/>
<intercept-url pattern="/accessdenied" access="permitAll" />
<intercept-url pattern="/**" access="hasRole('ROLE_USER')" />
<form-login login-page="/login.html" default-target-url="/firstwelcome.html" />
<logout logout-success-url="/logout" />
</http>
希望这会有所帮助!!
答案 1 :(得分:1)
这样的代码
<mvc:resources location="/resources/" mapping="/resources/**"/>
将您的css粘贴到资源文件夹中。
resources -> css -> style.css
resources folder inside **webapp**
并使用
进行访问<link href="<c:url value="resources/css/style.css" />" rel="stylesheet">
我确信这会解决您的问题。
答案 2 :(得分:1)
您需要在扩展的java配置类(而不是由XML配置驱动的安全性)中添加以下内容
WebSecurityConfigurerAdapter
假设您的资源位于/ resources / content中
http.authorizeRequests().antMatchers("/resources/content/**").permitAll()