栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring-security角色访问的控制、部分人员显示部分信息、默认登陆网页的更改

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring-security角色访问的控制、部分人员显示部分信息、默认登陆网页的更改

角色访问的控制
pom.xml导入新的依赖


    org.springframework.boot
    spring-boot-starter-security

新建SecurityConfig.java

@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {

        //首页所有人都可访问,功能页只有对应有权限的人才能访问
        http.authorizeRequests()
                .antMatchers("/","/index").permitAll()
                .antMatchers("/level1/**").hasRole("vip1")
                .antMatchers("/level2/**").hasRole("vip2");

        //开启登陆界面 确定角色
        http.formLogin();
        //开启了注销功能.deletecookies("remove").invalidateHttpSession(true)删除cookies和session .logoutSuccessUrl("/")指定注销后要跳转的界面
        http.logout().logoutSuccessUrl("/");
    }


    //认证 每个账号对应的角色
    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.inMemoryAuthentication().passwordEncoder(new BCryptPasswordEncoder())
                .withUser("kk").password(new BCryptPasswordEncoder().encode("kk")).roles("vip1","vip2")
                .and()
                .withUser("rr").password(new BCryptPasswordEncoder().encode("rr")).roles("vip1")
                .and()
                .withUser("qq").password(new BCryptPasswordEncoder().encode("qq")).roles("vip2");
    }
}

对应的controller

@Controller
public class RouterController {

    @RequestMapping({"/","/index"})
    public String index(){
        return "index";
    }

    @RequestMapping("tologin")
    public String tologin(){
        return "views/login";
    }

    @RequestMapping("/level1/{id}")
    public String level1(@PathVariable("id")int id){
        return "views/level1/"+id;
    }
    @RequestMapping("/level2/{id}")
    public String level2(@PathVariable("id")int id){
        return "views/level2/"+id;
    }

}

七个html

index.xml



    level1/1
    level1/2
    level1/3




level2/1 level2/2 level2/3

登陆 用户名: 注销

部分人员显示部分信息

在上面的基础上

在HTML index.html中

以div的形式包裹只能Vip1用户显示的内容
    level1/1
    level1/2
    level1/3




以div的形式包裹只能Vip2用户显示的内容 level2/1 level2/2 level2/3

判断是否已登录div包裹链接 登陆 注销

默认网页的更改

SecurityConfig.java文件中

http.formLogin().loginPage("/tologin").usernameParameter("username").passwordParameter("password").loginProcessingUrl("/login");

loginPage链接的新的自设的登陆网页(controller中已配置login.html的requestmapping(“/tologin”))

usernameParameter("username")

passwordParameter("password")自设登陆网页中对应的form的两个input的name

loginProcessingUrl ("/login")  设置/login为中转站

login.html


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/396774.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号