<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 第一步 編寫實體類 ~~~ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.util.Date; /** * <p> * 用戶表 * </p> * */ @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @TableName("sys_user") public class Users implements Serializable { private static final long serialVersionUID = 1L; /** * id */ @TableId(type = IdType.ASSIGN_ID) private String id; /** * 登錄賬號 */ private String username; /** * 真實姓名 */ private String realname; /** * 密碼 */ @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) private String password; /** * md5密碼鹽 */ @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) private String salt; /** * 頭像 */ private String avatar; /** * 生日 */ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date birthday; /** * 性別(1:男 2:女) */ private Integer sex; /** * 電子郵件 */ private String email; /** * 電話 */ private String phone; /** * 部門code(當前選擇登錄部門) */ private String orgCode; /**部門名稱*/ private transient String orgCodeTxt; /** * 狀態(1:正常 2:凍結 ) */ private Integer status; /** * 刪除狀態(0,正常,1已刪除) */ @TableLogic private Integer delFlag; /** * 工號,唯一鍵 */ private String workNo; /** * 職務,關聯職務表 */ private String post; /** * 座機號 */ private String telephone; /** * 創建人 */ private String createBy; /** * 創建時間 */ private Date createTime; /** * 更新人 */ private String updateBy; /** * 更新時間 */ private Date updateTime; /** * 同步工作流引擎1同步0不同步 */ private Integer activitiSync; /** * 身份(0 普通成員 1 上級) */ private Integer userIdentity; /** * 負責部門 */ private String departIds; /** * 多租戶id配置,編輯用戶的時候設置 */ private String relTenantIds; /**設備id uniapp推送用*/ private String clientId; } ~~~ # 第二步 編寫mapper ~~~ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.maicaii.models.entity.Users; import org.springframework.stereotype.Repository; @Repository public interface UsersMapper extends BaseMapper<Users> { } ~~~ # 第三步 編寫security配置類 ~~~ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.maicaii.models.entity.Users; import org.maicaii.models.mapper.UsersMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.AuthorityUtils; import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.stereotype.Service; import java.util.List; @Service("userDetailsService") public class MyUserDetailsService implements UserDetailsService { @Autowired private UsersMapper usersMapper; @Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); String password = passwordEncoder.encode("aaa");//加密密碼 //使用userMapper方法,使用用戶名查詢數據庫 QueryWrapper<Users> wrapper = new QueryWrapper<>();//查詢構造器 wrapper.eq("username",username);//條件 Users users= usersMapper.selectOne(wrapper);//查詢一條數據 if (users==null){//用戶不存在 throw new UsernameNotFoundException("用戶不存在"); } List<GrantedAuthority> auths = AuthorityUtils.commaSeparatedStringToAuthorityList("auths");//權限集合 return new User(users.getUsername(),password,auths);//用戶名,密碼,權限 } } ~~~ # 第四步 編寫加密方式和設置自定義用戶 ~~~ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; //第二種 @Configuration public class SecurityConfiguration extends WebSecurityConfigurerAdapter { @Autowired private UserDetailsService userDetailsService; @Override public void configure(AuthenticationManagerBuilder auth) throws Exception { auth.userDetailsService(userDetailsService)//自定義設置類 .passwordEncoder(password()); } @Bean //加密方式 public PasswordEncoder password(){ return new BCryptPasswordEncoder(); } } ~~~ ![](https://img.kancloud.cn/06/17/061703ff6922a20b60559133bc12ad45_1602x677.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看