Spring Security ialah rangka kerja keselamatan aplikasi web berdasarkan Rangka Kerja Spring. Seni binanya termasuk: WebSecurityConfigurerAdapter: mentakrifkan atribut keselamatan dan peraturan pemintasan. WebSecurityConfigurerChain: rantaian pemintas, memproses permintaan. FilterSecurityInterceptor: Pemintas, menyemak kebenaran pengguna. AccessDecisionManager: Membuat keputusan kebenaran. AuthenticationManager: Sahkan identiti pengguna. Melalui konfigurasi, hak akses yang berbeza boleh diberikan kepada peranan pengguna yang berbeza. Spring Security menyediakan mata sambungan yang membolehkan ciri keselamatan disesuaikan berdasarkan keperluan aplikasi.
Spring Security ialah rangka kerja keselamatan yang dibina di atas rangka kerja Spring, terutamanya digunakan untuk melindungi aplikasi web daripada pelbagai ancaman keselamatan. Ia direka bentuk untuk menyediakan penyelesaian keselamatan berskala, fleksibel dan mudah digunakan.
Komponen teras rangka kerja Spring Security termasuk:
Pertimbangkan contoh senario berikut:
Kami mempunyai aplikasi web yang perlu menyediakan kawalan akses yang berbeza untuk peranan pengguna yang berbeza. Kami boleh melaksanakannya menggunakan Spring Security seperti berikut:
// WebSecurityConfig.java public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http // 启用基于表单的身份验证 .formLogin() .loginPage("/login") .defaultSuccessUrl("/home") .failureUrl("/login?error") .and() // 授权规则 .authorizeRequests() .antMatchers("/admin/**").hasRole("ADMIN") .antMatchers("/user/**").hasRole("USER") .antMatchers("/").permitAll(); } // 使用 JDBC 数据源来验证用户 @Override protected AuthenticationManager authenticationManager() throws Exception { UserDetailsService userDetailsService = new JDBCUserDetailsManager(); return new ProviderManager(new Provider[]{new DaoAuthenticationProvider(userDetailsService)}); } }
Dengan konfigurasi ini, peranan Pentadbir (ADMIN) akan diberikan akses kepada semua /admin/**
URL 的权限,而用户 (USER) 角色将被授予访问所有 /user/**
URL 的权限。未经身份验证的用户只能访问主页 (/
).
Spring Security menyediakan banyak titik sambungan yang membolehkan anda menyesuaikan ciri keselamatan mengikut keperluan khusus aplikasi anda. Anda boleh melanjutkan rangka kerja dengan menulis pemintas tersuai, pengurus keputusan akses dan pengurus pengesahan.
Atas ialah kandungan terperinci Bagaimanakah seni bina rangka kerja Keselamatan Musim Bunga direka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!