当前位置: 首页 > 知识库问答 >
问题:

我的Spring Boot项目无法从静态文件夹[重复]中正确加载css

焦同
2023-03-14

所以,我登录了,我得到了这个:

登录名。html

<!doctype html>
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:th="http://www.thymeleaf.org"
    xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3">

<head> 
<!-- Required meta tags --> 
<meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 

<!--CSS-->
<!--We are choosing these two to let the browser to load faster--> 


<link rel="stylesheet" href="../static/css/style.css" th:href="@{/css/style.css}"/>

<!--this is the last one so that we can override previous boostrap styles if we want--> 


</head>

    <body class="signin-body">
      <!-- <div class="container signin-container" layout:fragment="loginContent"> -->  
            <div class="row">
                <div class="col"></div>
                <div class="col-sm-12 col-md-8">
                    <div class="card signin-card">
                        <div class="card-block">
                            <img th:src="@{/imgages/logindetails.png}" width="50%" height="50%" class="img-fluid signin-img"/> 
                            <form name="login" th:action="@{/login}" method="post" class="form-signin">
                                <div class="form-group">
                                <h2 class="form-signin-heading">Please sign in</h2>
                                    <div th:if="${param.error}" class="alert alert-danger">Wrong username and password</div>
                                    <div th:if="${param.logout}" class="alert alert-success">You successfully logged out</div>
                                    <label for="username" class="sr-only">Username</label>
                                    <input type="text" id="username" name="username" class="form-control" placeholder="Username" required="true">
                                </div>
                                    <label for="password" class="sr-only">Password</label>
                                <div class="form-group">
                                <input type="password" id="password" name="password" class="form-control" placeholder="Password" required="true">
                                </div>
                                    <div class="checkbox">
                                    <label>
                                       <input id="remember-me" name="remember-me" type="checkbox">Remember me
                                    </label>                                
                                <button class="btn btn-lg btn-primary btn-block signin-btn" type="submit">Login</button>
                                    </div>
                            </form>
                        </div>
                </div>
                <a class= "new-account" href="/registration">Create New Account</a>
            </div>
        <div class="col"></div>
    </div>

        <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
        <script src="css/bootstrap-4.3.1-dist/js/bootstrap.min.js"></script>
    </body>

</html>

证券公司。Java语言

@EnableGlobalMethodSecurity(securedEnabled=true)
@Configuration
public class SecurityConf extends WebSecurityConfigurerAdapter {

    @Bean
    public UserDetailsService userDetailsService() {
        return super.userDetailsService();  
    }
    private UserDetailsService userService;

    @Autowired
    public void setUserService(UserDetailsService userService) {
        this.userService = userService;
    }
    @Autowired
    public void configureAuth(AuthenticationManagerBuilder auth) {

        try {
            auth
            .inMemoryAuthentication()
                .withUser("user")
                .password("{noop}user") 
                .roles("USER")
            .and()
                .withUser("admin")
                .password("{noop}admin")
                .roles("ADMIN");
        } catch (Exception e) {
             System.out.println(" " + e.getMessage());
        }
    }
    @Override
    protected void configure(HttpSecurity httpSec) {

        try {
            httpSec.authorizeRequests()
            //  .antMatchers(HttpMethod.GET, "/").permitAll()
            //  .antMatchers("/delete").hasRole("ADMIN)")
                .antMatchers("/login", "/*.css", "/*.js").permitAll()
                .antMatchers("/admin/**").hasRole("ADMIN")
                .antMatchers("/registration").permitAll()
                .antMatchers("/reg").permitAll()
                .anyRequest().authenticated()
            .and()
                .formLogin()
                .loginPage("/login")
                .permitAll()
            .and()
                .logout()
                .logoutSuccessUrl("/login?logout")
                .permitAll();
        } catch (Exception ex) {
            System.out.println(" " + ex.getMessage());
        }
    }
}

共有1个答案

咸亦
2023-03-14

您需要重写WebSecurity配置适配器(WebSecurity ConfigureAdapter)实现类中的以下方法,以指定包含Spring Boot仍应提供的文件的文件夹,即使这些文件尚未通过身份验证。

@Override
public void configure(WebSecurity webSecurity) throws Exception {
    webSecurity
        .ignoring()
        .antMatchers("/static/**");
}
 类似资料:
  • 这是我的server.js文件。当我启动它时,静态文件夹宿主文件像.txt良好,但图像像不可读格式,不能显示它的浏览器。问题:app.use(“/uploads”,express.static(path.join(__dirname,“/uploads”)); 例如,我在uploads文件夹中有一个名为1.jpeg的图像,当我输入地址http://localhost:8080/uploads/1.

  • 问题内容: 我正在尝试从文件中加载图像而不使用。这些文件夹是: 我想将图像加载到资产文件夹中。我试过了: 我已经尝试过使用字符串路径“ /TestProject/assets/drawIcon.png”,但是什么也没有。我不知道如何加载该图片! 问题答案: 将目录设置为资源目录,然后从“ /drawIcon.png”位置将图像加载为资源: 如果要创建javafx图像: 在这种情况下,也请将该文件夹

  • 问题内容: 我正在本地计算机(Mac OS X)上运行Django的开发服务器(),无法加载CSS文件。 以下是settings.py中的相关条目: 在我的views.py中,我请求上下文: 在我的模板中,渲染正确: 变成: 文件实际所在的位置。我还确保所有文件都已收集。 我的urls.py中也包含以下几行: 我是Django的新手,所以可能缺少一些简单的知识-希望对您有所帮助。 问题答案: 请仔

  • 问题内容: 我正在本地计算机(Mac OS X)上运行Django的开发服务器(),无法加载CSS文件。 以下是settings.py中的相关条目: 在我的views.py中,我正在请求上下文: 在我的模板中,渲染正确: 变成: 文件实际所在的位置。我还确保所有文件都已收集。 我的urls.py中也包含以下几行: 我是Django的新手,所以可能缺少一些简单的知识-希望对您有所帮助。 问题答案:

  • 我有大约50个提交,想要从一个新的初始状态开始,所以我删除了.git文件夹,但是我在SourceTree中搞砸了,最终删除了所有的项目文件(尽管文件夹由于某种原因保留了下来)。 我仍然有我删除的.git文件夹。我的问题是,我能从这个文件夹中恢复上一个已知的项目状态吗?我该怎么做呢?

  • 问题内容: 我有一个使用Maven的Java项目。在我的项目中,我有一个名为的文件夹,其中包含无法从Internet /外部存储库加载的所有JAR。 我的问题是如何在包装,构建等过程中指定Maven包括那些JAR? Maven新手,很抱歉,如果这是一个愚蠢的问题。 编辑:我有一个自动工具,它将在我的Git上查找我的文档,以在不同环境中构建和部署我的项目。因此,按照此处的建议将其添加到本地Maven