QQ 1274510382
Wechat JNZ_aming
Business Alliance QQ group 538250800 Problème
technologique Groupe QQ 599020441
Solution Groupe QQ 152889761
Rejoignez-nous Groupe QQ 649347320
Apprentissage partagé Groupe QQ 674240731
Technologie chronologique de
sécurité réseau, apprentissage en profondeur, embarqué, amélioration de la machine, intelligence biologique, sciences de la vie.
Ding Ding Ding: Le produit est en ligne—> Suivez le
compte public officiel de WeChat —Jinan Ji Nian Information Technology Co., Ltd. Projet de moyens de subsistance des gens: franchise de magasin / rencontres de divertissement / cercle d’affaires de l’ entreprise / sous-traitance à temps partiel /
projet de sécurité: système de défense de la connaissance de la situation / système d'inspection intranet
Projet de service cloud: extension dynamique de l'hôte cloud / nom de domaine / stockage élastique-base de données-disque cloud / API-AIeverthing
conseil produit / service après-vente (idem)
C'est toujours superficiel sur le papier, et je sais absolument que cette affaire doit être réglée! ! !
Vous recherchez des partenaires partageant les mêmes idées pour démarrer une entreprise. . . Coordonnées de Baotuan Didi aming! !
# Cet article est destiné au système publicitaire pour diffuser automatiquement des annonces
# En cas d'infraction, de suppression, veuillez nous contacter rapidement
# 3 Réalisation initiale de l'autorisation Shiro
3.1 Juger le rôle
3.1.1 Modifier le fichier de configuration
Ajoutez simplement le nom du rôle inclus dans l'utilisateur directement après le mot de passe.
[users]
zhangsan=zs,role1,role2
lisi=ls
3.1.2 Ajouter du code
hasRole () utilise la valeur de retour pour déterminer si l'utilisateur a le rôle spécifié.
if(subject.isAuthenticated){
System.out.println("登录成功");
boolean hasRoleResult = SecurityUtils.getSubject().hasRole("role1");
System.out.println("result:"+hasRoleResult);
}
通过 subject 看是否 有角色
3.2 Autorité de jugement
3.2.1 Modifier le fichier de configuration
[users]
zhangsan=zs,role1,role2
lisi=ls
[roles]
role1=permission1,permission2
3.2.2 Ajouter un code de test
Une fois l'authentification réussie, l'autorisation
est contrôlée par l'existence ou non d'une AuthenticationException.
SecurityUtils.getSubject().checkPermission("permission");
4 Certification d'implémentation de royaume
4.1 Utiliser iniRealm
public class ShiroRun {
public static void main(String[] args) {
SecurityManager securityManager = new DefaultSecurityManager();
IniRealm iniRealm = new IniRealm("classpath:shiro.ini");
securityManager.setRealm(iniRealm);
SecurityUtils.setSecurityManager(securityManager);
Subject subject = SecurityUtils.getSubject();
//web 项目时,用户名和密码是客户端表单传递过来的用户名和密码。
AuthenticationToken token = new UsernamePasswordToken("admin",
"pwd");
try {
//login()方法没有返回值,只能通过是否有异常判断是否登录成功。
subject.login(token);
System.out.println("登录成功");
} catch (UnknownAccountException e) {
System.out.println("账号不存在");
} catch (IncorrectCredentialsException e) {
System.out.println("密码错误");
} catch (AuthenticationException e) {
e.printStackTrace();
}
}
}