我是靠谱客的博主 光亮荔枝,最近开发中收集的这篇文章主要介绍配置权限策略,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在企业管理系统平台中,会拆分成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

最后

以上就是光亮荔枝为你收集整理的配置权限策略的全部内容,希望文章能够帮你解决配置权限策略所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部