QQ 1274510382
Wechat JNZ_aming
Business Alliance QQ-Gruppe 538250800
Technologieprobleme QQ-Gruppe 599020441
Lösung QQ-Gruppe 152889761 Machen
Sie mit QQ-Gruppe 649347320
Gemeinsames Lernen QQ-Gruppe 674240731
Chronologische Technologie für
Netzwerksicherheit, Deep Learning, Embedded, Maschinenverbesserung, biologische Intelligenz, Biowissenschaften.
Ding Ding Ding: Das Produkt ist online -> Folgen Sie dem offiziellen öffentlichen WeChat-
Konto - Jinan Ji Nian Information Technology Co., Ltd. Projekt zum Lebensunterhalt der Menschen: Franchise-Geschäft / Unterhaltungsdating / Unternehmensgeschäftskreis / Auslagerung einer Teilzeit-Entwicklungsprojektveröffentlichung /
Sicherheitsprojekt: Situationsbewusstsein-Verteidigungssystem / Intranet-Inspektionssystem
Cloud-Service-Projekt: Dynamische Erweiterung des Cloud-Hosts / Domain-Namens / Elastische Speicher-Datenbank-Cloud-Festplatte / API-AIeverthing
Produktberatung / Service After-Sales (gleich)
Auf dem Papier ist es immer flach, und ich weiß absolut, dass diese Angelegenheit erledigt werden muss! ! !
Auf der Suche nach gleichgesinnten Partnern, um ein Unternehmen zu gründen. . . Baotuan Didi aming Kontaktinformationen! !
#Dieser Artikel dient dazu, dass das Werbesystem automatisch Anzeigen liefert
# Wenn es einen Verstoß oder eine Löschung gibt, kontaktieren Sie uns bitte schnell
# 3 Erste Realisierung der Shiro-Autorisierung
3.1 Die Rolle beurteilen
3.1.1 Konfigurationsdatei ändern
Fügen Sie einfach den im Benutzer enthaltenen Rollennamen direkt nach dem Kennwort hinzu.
[users]
zhangsan=zs,role1,role2
lisi=ls
3.1.2 Code hinzufügen
hasRole () verwendet den Rückgabewert, um zu bestimmen, ob der Benutzer die angegebene Rolle hat.
if(subject.isAuthenticated){
System.out.println("登录成功");
boolean hasRoleResult = SecurityUtils.getSubject().hasRole("role1");
System.out.println("result:"+hasRoleResult);
}
通过 subject 看是否 有角色
3.2 Richterbehörde
3.2.1 Ändern Sie die Konfigurationsdatei
[users]
zhangsan=zs,role1,role2
lisi=ls
[roles]
role1=permission1,permission2
3.2.2 Testcode hinzufügen
Nach erfolgreicher Authentifizierung wird die Autorisierung
dadurch gesteuert, ob eine AuthenticationException vorliegt.
SecurityUtils.getSubject().checkPermission("permission");
4 Realm-Implementierungszertifizierung
4.1 Verwenden Sie 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();
}
}
}