導入系統用(yòng)戶
URULE支持接口的方式導入系統用(yòng)戶,選擇該類型後系統不支持用(yòng)戶注冊,改名(míng),郵箱調整,密碼調整等操作(zuò)。
用(yòng)戶對象的結構:
package com.bstek.urule.console.database.model;
import java.util.List;
public class User {
/**
* 用(yòng)戶賬号
*/
private String id;
/**
* 用(yòng)戶名(míng)
*/
private String name;
/**
* 用(yòng)戶密碼
*/
private String password;
/**
* 用(yòng)戶郵箱
*/
private String email;
/**
* 用(yòng)戶所屬团隊
*/
private List<Group> groups;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public List<Group> getGroups() {
return groups;
}
public void setGroups(List<Group> groups) {
this.groups = groups;
}
}
對應用(yòng)戶的服務(wù)類,系統团隊和項目管理(lǐ)的用(yòng)戶信息就來源于該服務(wù)類提供的用(yòng)戶對象。
com.bstek.urule.console.database.service.user.UserService
接口内容:
package com.bstek.urule.console.database.service.user;
import com.bstek.urule.console.database.model.User;
/**
* 用(yòng)戶服務(wù)類接口
* @author william.jiang
* @since 2021年4月8日
*/
public interface UserService {
public static final String BEAN_ID = "urule.userService";
/**
* 獲取用(yòng)戶對象
* @param account 用(yòng)戶賬号
* @return 用(yòng)戶對象
*/
User get(String account);
/**
* 用(yòng)戶密碼驗證
* @param account 用(yòng)戶賬号
* @param password 密碼
* @return 用(yòng)戶對象(如果有(yǒu)初始化默認的团隊信息,則需要定義User對象的groups屬性)
*/
User validate(String account, String password);
}
其中(zhōng)validate方法在用(yòng)戶登錄的時候調用(yòng),這個時候不僅要返回用(yòng)戶對象信息還需要返回用(yòng)戶的团隊信息
參考實現:
@Service(UserService.BEAN_ID)
public class UserServiceImpl implements UserService {
@Override
public User get(String account) {
if ("test".equals(account)) return null;
User user = new User();
user.setId(account);
user.setEmail(account+"@bstek.com");
user.setEnable(true);
user.setName("用(yòng)戶"+account);
return user;
}
@Override
public User validate(String account, String password) {
if ("123456".equals(password)) {
User user = get(account);
List<Group> userGroups = new ArrayList<Group>();
Group group = new Group();
group.setId("bstekteam");
group.setName("上海銳道信息技(jì )術有(yǒu)限公(gōng)司");
group.setCreateUser("admin");
userGroups.add(group);
user.setGroups(userGroups);
return user;
}
throw new RuleException("不存在該用(yòng)戶對象");
}
}