Java-Verbesserung-05-shiro- einfache Beurteilung der Autorisierung

Fügen Sie hier eine Bildbeschreibung ein


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

Fügen Sie hier eine Bildbeschreibung ein

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);
}

Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung einFügen Sie hier eine Bildbeschreibung ein

 通过  subject 看是否 有角色

Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein

3.2 Richterbehörde

3.2.1 Ändern Sie die Konfigurationsdatei

 [users]
zhangsan=zs,role1,role2
lisi=ls
[roles]
role1=permission1,permission2

Fügen Sie hier eine Bildbeschreibung ein

Fügen Sie hier eine Bildbeschreibung ein

3.2.2 Testcode hinzufügen

Nach erfolgreicher Authentifizierung wird die Autorisierung
dadurch gesteuert, ob eine AuthenticationException vorliegt.
SecurityUtils.getSubject().checkPermission("permission");

Fügen Sie hier eine Bildbeschreibung ein

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();
			 }
 		} 		
 	}

Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein

Ich denke du magst

Origin blog.csdn.net/qq_33608000/article/details/112847820
Empfohlen
Rangfolge