知識庫 / Spring / Spring Security RSS 訂閱

Spring Security 與 Activiti 集成指南

Spring Security
HongKong
4
02:13 PM · Dec 06 ,2025

1. 概述

Activiti 是一個開源的 BPM(業務流程管理)系統。 欲瞭解更多信息,請查看我們的 Activiti 與 Java 指南。

Activiti 8 不再提供身份管理支持。 我們將使用 Spring 框架進行身份管理。 在後續內容中,我們將探討如何使用 Spring Security 進行身份管理。

2. Maven 依賴

為了在 Spring Boot 項目中設置 Activiti,請參考我們之前的文章。除了 <em >activiti-spring-boot-starter</em >,我們還需要添加 spring-boot-starter-security 依賴:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

3. 使用 Spring Security 進行身份管理

為了使用 Spring Security 提供的用户管理功能,可以提供如下的自定義 Spring Security 配置類:

@Configuration
public class SecurityConfig {

    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        http.authorizeHttpRequests(auth -> auth
                .requestMatchers("/protected-process*")
                .authenticated()
                .anyRequest()
                .permitAll())
            .formLogin(login -> login
                .loginPage("/login")
                .defaultSuccessUrl("/homepage")
                .failureUrl("/login?error=true")
                .permitAll())
            .csrf(AbstractHttpConfigurer::disable)
            .logout(logout -> logout.logoutSuccessUrl("/login"));
        return http.build();
    }

    @Bean
    public UserDetailsService userDetailsService() {
        User.UserBuilder users = User.withDefaultPasswordEncoder();
        UserDetails user = users.username("user")
            .password("{noop}pass")
            .authorities("ROLE_ACTIVITI_USER")
            .build();
        return new InMemoryUserDetailsManager(user);
    }
}

Activiti 8 依賴 Spring Security 來處理安全、角色和組。UserDetailsService 用於配置用户及其相應的組和角色。ACTIVITI_USER 角色需要與 Activiti 的 TaskRuntime API 交互。

4. 結論

在本文中,我們學習瞭如何將 Activiti 集成到 Spring Security 中。我們創建了一個 Spring Security 配置,它 自動設置已認證的用户並與 TaskRuntime API 交互

user avatar
0 位用戶收藏了這個故事!
收藏

發佈 評論

Some HTML is okay.