概述
在企业管理系统平台中,会拆分成n多个不同的账号,
每个账号对应不同的接口访问权限,
比如
账号leonkt_admin 所有接口都可以访问;
leonkt_add账户 只能访问/addMember接口;
leonkt_show账户 只能访问/showMember接口;
leonkt_del账户 只能访问/delMember接口;
相关config配置
@Component
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
/**
* 新增授权账户
*
* @param auth
* @throws Exception
*/
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
/**
* 新增一个账户leonkt 密码也是为leonkt 可以允许访问所有的请求
*/
// auth.inMemoryAuthentication().withUser("leonkt").password("leonkt").authorities("leonkt");
/**
* 1.新增leonkt_admin leonkt_admin 权限可以访问所有请求
*/
auth.inMemoryAuthentication().withUser("leonkt_admin").password("leonkt_admin").authorities("addMember", "delMember"
, "updateMember", "showMember");
auth.inMemoryAuthentication().withUser("leonkt_admin").password("leonkt_admin").authorities("addMember"
, "delMember", "updateMember", "showMember");
auth.inMemoryAuthentication().withUser("leonkt_add").password("leonkt_add").authorities("addMember");
auth.inMemoryAuthentication().withUser("leonkt_del").password("leonkt_del").authorities("delMember");
auth.inMemoryAuthentication().withUser("leonkt_update").password("leonkt_update").authorities("updateMember");
auth.inMemoryAuthentication().withUser("leonkt_show").password("leonkt_show").authorities("showMember");
}
/**
* 新增 HttpSecurity配置
*
* @param http
* @throws Exception
*/
@Override
protected void configure(HttpSecurity http) throws Exception {
// /**
// * 拦截 http 安全认证模式 设置为httpBasic模式
// */
// http.authorizeRequests().antMatchers("/**").fullyAuthenticated()
// .and().httpBasic();
/**
* 拦截 http 安全认证模式 设置为formLogin模式
*/
// http.authorizeRequests().antMatchers("/**").fullyAuthenticated()
// .and().formLogin();
http.authorizeRequests().antMatchers("/addMember").hasAnyAuthority("addMember")
.antMatchers("/delMember").hasAnyAuthority("delMember")
.antMatchers("/updateMember").hasAnyAuthority("updateMember")
.antMatchers("/showMember").hasAnyAuthority("showMember").
antMatchers("/**").fullyAuthenticated()
.and().formLogin();
}
@Bean
public static NoOpPasswordEncoder passwordEncoder() {
return (NoOpPasswordEncoder) NoOpPasswordEncoder.getInstance();
}
}
http://127.0.0.1:8080/updateMember
最后
以上就是光亮荔枝为你收集整理的配置权限策略的全部内容,希望文章能够帮你解决配置权限策略所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复