QQ 1274510382 Wechat
JNZ_aming
Business Alliance Grupo QQ 538250800 Problemas
tecnológicos Grupo QQ 599020441
Solución Grupo QQ 152889761
Únase a nosotros Grupo
QQ 649347320 Grupo QQ de aprendizaje compartido 674240731
Tecnología cronológica que aming
seguridad de red, aprendizaje profundo, integrado, mejora de la máquina, inteligencia biológica, ciencias de la vida.
Ding Ding Ding: El producto está en línea—> Siga la
cuenta pública oficial de WeChat —Jinan Ji Nian Information Technology Co., Ltd. Proyecto de medios de vida de la gente: franquicia de tiendas / citas de entretenimiento / círculo comercial de empresas / subcontratación a tiempo parcial - lanzamiento del proyecto /
proyecto de seguridad: situacional sistema de defensa de la conciencia sistema de inspección / Intranet
proyecto de servicio de la nube: expansión dinámica de anfitrión nube / nombre de dominio / elástico de disco de almacenamiento de base de datos en la nube / API-AIeverthing
Consejos sobre productos / servicio post-venta (lo mismo)
Siempre es superficial en el papel, ¡y sé absolutamente que este asunto debe hacerse! ! !
Buscando socios con ideas afines para iniciar un negocio. . . Baotuan Didi aming información de contacto! !
#Este artículo es para que el sistema de publicidad publique anuncios automáticamente
# Si hay alguna infracción, eliminación, contáctenos rápidamente
# 3 Realización inicial de la autorización de Shiro
3.1 Juzgar el papel
3.1.1 Modificar archivo de configuración
Simplemente agregue el nombre del rol incluido en el usuario directamente después de la contraseña.
[users]
zhangsan=zs,role1,role2
lisi=ls
3.1.2 Agregar código
hasRole () usa el valor de retorno para determinar si el usuario tiene el rol especificado.
if(subject.isAuthenticated){
System.out.println("登录成功");
boolean hasRoleResult = SecurityUtils.getSubject().hasRole("role1");
System.out.println("result:"+hasRoleResult);
}
通过 subject 看是否 有角色
3.2 Autoridad de juicio
3.2.1 Modificar el archivo de configuración
[users]
zhangsan=zs,role1,role2
lisi=ls
[roles]
role1=permission1,permission2
3.2.2 Agregar código de prueba
Una vez que la autenticación es exitosa, la autorización
se controla si existe una AuthenticationException.
SecurityUtils.getSubject().checkPermission("permission");
4 Certificación de implementación de Realm
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();
}
}
}