<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      SpringSecurity設置角色和權限的注意點

      概念

      在UserDetailsService的loadUserByUsername方法里去構建當前登陸的用戶時,你可以選擇兩種授權方法,即角色授權和權限授權,對應使用的代碼是hasRole和hasAuthority,而這兩種方式在設置時也有不同,下面介紹一下:

      1. 角色授權:授權代碼需要加ROLE_前綴,controller上使用時不要加前綴
      2. 權限授權:設置和使用時,名稱保持一至即可

      使用,mock代碼

      @Component
      public class MyUserDetailService implements UserDetailsService {
        @Autowired
        private PasswordEncoder passwordEncoder;
      
        @Override
        public UserDetails loadUserByUsername(String name) throws UsernameNotFoundException {
          User user = new User(name,
              passwordEncoder.encode("123456"),
              AuthorityUtils.commaSeparatedStringToAuthorityList("read,ROLE_USER"));//設置權限和角色
          // 1. commaSeparatedStringToAuthorityList放入角色時需要加前綴ROLE_,而在controller使用時不需要加ROLE_前綴
          // 2. 放入的是權限時,不能加ROLE_前綴,hasAuthority與放入的權限名稱對應即可
          return user;
        }
      }
      

      上面使用了兩種授權方法,大家可以參考。

      在controller中為方法添加權限控制

       @GetMapping("/write")
        @PreAuthorize("hasAuthority('write')")
        public String getWrite() {
          return "have a write authority";
        }
      
        @GetMapping("/read")
        @PreAuthorize("hasAuthority('read')")
        public String readDate() {
          return "have a read authority";
        }
      
        @GetMapping("/read-or-write")
        @PreAuthorize("hasAnyAuthority('read','write')")
        public String readWriteDate() {
          return "have a read or write authority";
        }
      
        @GetMapping("/admin-role")
        @PreAuthorize("hasRole('admin')")
        public String readAdmin() {
          return "have a admin role";
        }
      
        @GetMapping("/user-role")
        @PreAuthorize("hasRole('USER')")
        public String readUser() {
          return "have a user role";
        }
      

      網上很多關于hasRole和hasAuthority的文章,很多都說二者沒有區別,但大叔認識,這是spring設計者的考慮,兩種性質完成獨立的東西,不存在任何關系,一個是用做角色控制,一個是操作權限的控制,二者也并不矛盾。

      posted @ 2019-02-18 16:27  張占嶺  閱讀(23312)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 精品久久8x国产免费观看| 国产精品永久久久久久久久久| 中文字幕无码不卡在线| 日韩精品亚洲专在线电影| 久久超碰97人人做人人爱| 男受被做哭激烈娇喘gv视频| 亚洲sm另类一区二区三区| 97久久人人超碰国产精品| 午夜欧美精品久久久久久久| 亚洲午夜香蕉久久精品| 成人精品久久一区二区三区| 国产精品制服丝袜无码| 一区二区中文字幕视频| 国产成人亚洲欧美二区综合| 亚洲人成日韩中文字幕不卡| 久久婷婷成人综合色| 国产精品三级中文字幕| 国产欧美日韩精品丝袜高跟鞋| 成人精品区| 成人综合婷婷国产精品久久蜜臀| 亚洲综合av男人的天堂| 国产一区二区视频在线看| 春菜花亚洲一区二区三区| 国产精品青草久久久久福利99| 一本色道久久加勒比综合| 少妇久久久被弄到高潮| 亚洲线精品一区二区三区| 免费无码一区无码东京热| 亚洲一区二区三区18禁| 在线观看特色大片免费视频| 农民人伦一区二区三区| 狠狠色噜噜狠狠狠狠777米奇| 少妇人妻无码专区视频| 亚洲欧洲无码av电影在线观看| 精品人妻中文字幕有码在线| 亚洲精品动漫免费二区| 中文字幕亚洲综合久久青草| 国产精品成人va在线播放| 欧美亚洲日本国产其他| AV无码免费不卡在线观看| 欧美肥老太牲交大战|