Melhoria de Java-05-shiro- julgamento simples de autorização

Insira a descrição da imagem aqui


QQ 1274510382
Wechat JNZ_aming
Business Alliance QQ group 538250800
Problemas de tecnologia Grupo QQ 599020441 Grupo QQ de
solução 152889761
Junte-se a nós grupo
QQ 649347320 Grupo QQ de aprendizagem compartilhada 674240731
Tecnologia cronológica aming
segurança de rede, aprendizagem profunda, embutido, aprimoramento de máquina, inteligência biológica, ciência da vida.

Ding Ding Ding: O produto está online—> Siga a
conta pública oficial do WeChat —Jinan Ji Nian Information Technology Co., Ltd. Projeto de subsistência das pessoas: franquia de loja / namoro de entretenimento / círculo de negócios corporativos / terceirização liberação de projeto de desenvolvimento em tempo parcial /
projeto de segurança: sistema de defesa de consciência situacional / sistema de inspeção de intranet
Projeto de serviço em nuvem: expansão dinâmica de host em nuvem / nome de domínio / disco de nuvem de armazenamento-banco de dados elástico / API-AIeverthing
consultoria de produto / serviço pós-venda (o mesmo)

É sempre superficial no papel, e eu sei absolutamente que esse assunto deve ser resolvido! ! !
Procurando por parceiros com interesses semelhantes para iniciar um negócio. . . Informações de contato da Baotuan Didi aming! !


#Este artigo é para o sistema de publicidade veicular anúncios automaticamente

# Se houver alguma violação, exclusão, entre em contato conosco rapidamente




# 3 Realização inicial da autorização Shiro

Insira a descrição da imagem aqui

3.1 Julgando a função

3.1.1 Modificar arquivo de configuração

Basta adicionar o nome da função incluída no usuário logo após a senha.

 [users]
zhangsan=zs,role1,role2
lisi=ls

3.1.2 Adicionar código

hasRole () usa o valor de retorno para determinar se o usuário tem a função especificada.

 if(subject.isAuthenticated){
    
    
 		System.out.println("登录成功");
 		boolean hasRoleResult = SecurityUtils.getSubject().hasRole("role1");
		System.out.println("result:"+hasRoleResult);
}

Insira a descrição da imagem aqui
Insira a descrição da imagem aquiInsira a descrição da imagem aqui

 通过  subject 看是否 有角色

Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui

3.2 Autoridade de julgamento

3.2.1 Modificar o arquivo de configuração

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

Insira a descrição da imagem aqui

Insira a descrição da imagem aqui

3.2.2 Adicionar código de teste

Depois que a autenticação é bem-sucedida, a autorização
é controlada se houver um AuthenticationException.
SecurityUtils.getSubject().checkPermission("permission");

Insira a descrição da imagem aqui

4 Certificação de implementação de reino

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

Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui

Acho que você gosta

Origin blog.csdn.net/qq_33608000/article/details/112847820
Recomendado
Clasificación