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

Spring靴Spring安全角

宋高谊
2023-03-14

客户端需要LDAP和本地JDBC身份验证机制。

它们需要一种对两组用户都通用的授权机制。

应该根据用户的角色限制用户进入某些页面。以及需要应用于每个用户的单独权限(创建、更新、删除)集

那么,我如何实现按页授权,这将由管理员决定谁(哪个角色)可以访问哪个页面?

@Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests().antMatchers("/", "/home").permitAll().antMatchers("/admin").hasRole("ADMIN")
                .anyRequest().authenticated().and().formLogin().loginPage("/login").permitAll().and().logout()
                .permitAll();
        http.exceptionHandling().accessDeniedPage("/403");
    }

是否应该在配置中指定每个角色页组合?是否有任何方法可以动态地改变页面和角色,因为角色可能会在以后添加。

共有1个答案

闻法
2023-03-14

您可以使用spring mvc和安全注释

@Controller
public class MainController extends BaseController  {

    @Secured("ROLE_ADMIN")
    @RequestMapping("/")
    String home(Model model) {
        return "home";
    }

}

主页将是/resources/templates/home.ftl或jsp。如果用户不是管理员,那么它将重定向到错误页面。

@EnableAutoConfiguration
@ComponentScan
@Configuration
@EnableGlobalMethodSecurity(securedEnabled = true)
public class Application {

   public static void main(String[] args) throws Exception {
       SpringApplication.run(Application.class, args);
   }
 类似资料:
  • 我有我的spring boot应用程序,我正在尝试添加Spring Security性,但当我通过postman发出请求时,我不断收到一个403 Forbbiden,联机时我发现我应该在我的配置中添加:“.csrf().disable()”,但它不起作用(如果我在permitAll()中放置路径为:“person/**”的方法,则所有操作都有效) 这是我的代码: 我的用户控制器: My perso

  • 我有一个spring-boot 1.1.0.build-snapshot项目,它使用Spring-Security spring-security-web:4.0.0.m1。我想在我的H2表中添加数据库表,但在启动时会出现异常(生产和集成测试代码都有)。 以下是我的相关schema.sql文件内容: 我的application.properties文件中有以下内容: 当我启动或运行测试时,我会得到

  • setAuthentication方法和UsernamePasswordAuthenticationToken是如何工作的?我正在传递从令牌中提取的信息,即;以及构造函数中的userdetails、passowords和权限,但它验证的是“upat”?是否自动使用“”进行内部检查? 我知道这个问题有点冗长,但作为一个初学者,我正在努力理解它背后的机制,我已经对它进行了研究,但这种困惑并没有消失。请

  • 我正在Lynda.com https://www.lynda.com/spring-tutorials/spring-boot-actuator/653258/709599-4.html?autoplay=true上学习spring-boot教程,演示者简单地说关闭管理安全性这就是application.yml的样子 是否有一种方法可以将application.yml设置为默认属性文件,我在这里遗

  • 我正在用Thymeleaf构建一个Spring Boot应用程序。我的模板(视图)和静态文件夹都在src/main/Resources/静态和src/main/Resources/tem板下。当我通过main方法(使用eclipse)运行应用程序时,一切都很好。但是,我已经按照说明创建了一个war文件,当我将其部署到Tomcat 7时——静态内容丢失了,只显示了Thymeleaf html模板。

  • 作为一个新的Web应用程序项目的一部分,我计划学习Spring。我开始通读Spring框架参考。当我在谷歌上搜索时,我遇到了Spring boot。我所理解的是,Spring boot通过减少配置帮助构建应用程序的速度比Spring快得多。现在我有点困惑,我应该继续学习Spring还是跳转到Spring boot。我的目的是了解Spring作为一个框架是如何工作的,而不是一些特性。所以请让我知道,