(Spring security) 页面无权访问管理权限中的 css 样式、插件等
Posted
技术标签:
【中文标题】(Spring security) 页面无权访问管理权限中的 css 样式、插件等【英文标题】:(Spring security) Page doesn't have access to css style, plugins etc. in Admin Authority 【发布时间】:2018-04-12 09:17:35 【问题描述】:我对 Spring Security 有疑问。我已经为访问用户部分设置了管理员角色,如果管理员以外的其他人想去那里,我将重定向到 403 页面并且它可以工作,但是 css、插件和引导程序是在此上下文中不可见..
如果不是管理员想要去那里,浏览器控制台中的错误: (403 页面显示没有引导程序和 css ..) http://prntscr.com/h497qo
如果管理员想去那里出错(没有映射).. (用户页面显示没有引导程序和 css ..) http://prntscr.com/h49b7g
Spring 安全配置:
@Override
protected void configure(final HttpSecurity http) throws Exception
http.authorizeRequests().antMatchers("/bootstrap/**", "/dist/**", "/plugins/**").permitAll().antMatchers("/admin/**").hasAuthority("ADMIN")
.anyRequest().authenticated().and().formLogin().loginPage("/login").permitAll().and().rememberMe()
.tokenValiditySeconds(60 * 60 * 24 * 31).rememberMeParameter("remember-me").key("uniqueAndSecret").and()
.logout().deleteCookies("JSESSIONID").logoutUrl("/logout").logoutSuccessUrl("/login").permitAll().and().exceptionHandling().accessDeniedPage("/error")
.and().csrf().disable();
有什么建议吗?
【问题讨论】:
【参考方案1】:试试这样的:
@Override
public void configure( WebSecurity web ) throws Exception
web.ignoring().antMatchers( "/bootstrap/**", "/dist/**", "/plugins/**");
在您的安全配置中。
编辑:资源处理程序
明确添加您的静态资源:
@Configuration
public class WebViewConfig extends WebMvcConfigurerAdapter
@Override
protected void addResourceHandlers( ResourceHandlerRegistry registry )
registry.addResourceHandler( "/bootstrap/**", "/dist/**", "/plugins/**" ).addResourceLocations( "classpath:static/bootstrap/", "classpath:static/dist/", "classpath:static/plugins/" );
请注意,我假设您的静态文件夹下的类路径中有这些文件夹(dist
、bootstrap
、plugins
)。
【讨论】:
我看到你有一个 xml 文件,main-servlet.xml
,如果它定义了你的 servlet 上下文,请考虑在该文件中定义你的静态资源。
是的,这行得通,但我必须为每个权限进行映射:即 试试这个来解决“找不到映射”的问题:
@Configuration
@EnableWebMvc
public class WebAppConfig extends WebMvcConfigurerAdapter
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry)
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
【讨论】:
以上是关于(Spring security) 页面无权访问管理权限中的 css 样式、插件等的主要内容,如果未能解决你的问题,请参考以下文章
你没有权限... spring security shiro
Azure 上托管的 MVC 4 网站说我无权查看目录或页面
spring security3 动态从数据库中读取权限信息<sec:authorize>标签 url属性不起作用