Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ApacheShiro:IllegalArgumentException登录时_Java_Security_Jsf_Shiro - Fatal编程技术网

Java ApacheShiro:IllegalArgumentException登录时

Java ApacheShiro:IllegalArgumentException登录时,java,security,jsf,shiro,Java,Security,Jsf,Shiro,使用Apache Shiro时,登录时会出现以下异常: java.lang.IllegalArgumentException:配置错误。配置错误。指定了属性为[loginUrl]的对象[authc],但没有首先定义该对象的类。请首先指定类属性,例如myObject=fully_qualified_class_name,然后定义其他属性 西罗·伊尼 控制器 public void login(){ 工厂=新的InSecurityManagerFactory(); SecurityManager S

使用Apache Shiro时,登录时会出现以下异常:

java.lang.IllegalArgumentException:配置错误。配置错误。指定了属性为[loginUrl]的对象[authc],但没有首先定义该对象的类。请首先指定类属性,例如myObject=fully_qualified_class_name,然后定义其他属性

西罗·伊尼 控制器
public void login(){
工厂=新的InSecurityManagerFactory();
SecurityManager SecurityManager=factory.getInstance();
SecurityUtils.setSecurityManager(securityManager);
Subject currentUser=SecurityUtils.getSubject();
如果(!currentUser.isAuthenticated()){
UsernamePasswordToken=新的UsernamePasswordToken(“根”,“秘密”);
token.setRememberMe(true);
试一试{
currentUser.login(令牌);
}捕获(未知计数异常){
System.out.println(“用户名不正确”);
}捕获(不正确的凭证异常e){
System.out.println(“密码不正确”);
}捕获(锁定帐户例外e){
System.out.println(“帐户被锁定”);
}捕获(身份验证异常e){
System.out.println(“有一些错误”);
}
}
}
web.xml

com.sun.faces.config.ConfigureListener
Facesservlet
javax.faces.webapp.FacesServlet
1.
Facesservlet
*.xhtml
org.apache.shiro.web.env.EnvironmentLoaderListener
雪洛菲特
org.apache.shiro.web.servlet.ShiroFilter
雪洛菲特
/*
要求
向前地
包括
错误

尝试使用
PassThruAuthenticationFilter
从控制器执行登录尝试。将此行添加到shiro.ini中:

authc = org.apache.shiro.web.filter.authc.PassThruAuthenticationFilter
接下来,当您从web.xml文件启动Shiro Security Manager时,可以从
login()
方法中删除以下代码行:

Factory<SecurityManager> factory = new IniSecurityManagerFactory();
SecurityManager securityManager = factory.getInstance();
SecurityUtils.setSecurityManager(securityManager);
Factory-Factory=new-IniSecurityManagerFactory();
SecurityManager SecurityManager=factory.getInstance();
SecurityUtils.setSecurityManager(securityManager);
请注意,这是另一种类型的身份验证筛选器,也有助于处理登录请求

Factory<SecurityManager> factory = new IniSecurityManagerFactory();
SecurityManager securityManager = factory.getInstance();
SecurityUtils.setSecurityManager(securityManager);