qq_28454325 2016-05-25 05:50 采纳率: 0%
浏览 4727

shiro JSP使用标签报错

在JSP页面使用shiro标签报错,要怎么改?求大神指点
java.lang.IllegalArgumentException: Wildcard string cannot be null or empty. Make sure permission strings are properly formatted.
org.apache.shiro.authz.permission.WildcardPermission.setParts(WildcardPermission.java:151)
org.apache.shiro.authz.permission.WildcardPermission.(WildcardPermission.java:142)
org.apache.shiro.authz.permission.WildcardPermission.(WildcardPermission.java:138)
org.apache.shiro.authz.permission.WildcardPermissionResolver.resolvePermission(WildcardPermissionResolver.java:41)
org.apache.shiro.realm.AuthorizingRealm.resolvePermissions(AuthorizingRealm.java:433)
org.apache.shiro.realm.AuthorizingRealm.getPermissions(AuthorizingRealm.java:409)
org.apache.shiro.realm.AuthorizingRealm.isPermitted(AuthorizingRealm.java:466)
org.apache.shiro.realm.AuthorizingRealm.isPermitted(AuthorizingRealm.java:462)
org.apache.shiro.realm.AuthorizingRealm.isPermitted(AuthorizingRealm.java:457)
org.apache.shiro.authz.ModularRealmAuthorizer.isPermitted(ModularRealmAuthorizer.java:223)
org.apache.shiro.mgt.AuthorizingSecurityManager.isPermitted(AuthorizingSecurityManager.java:113)
org.apache.shiro.subject.support.DelegatingSubject.isPermitted(DelegatingSubject.java:158)
org.apache.shiro.web.tags.PermissionTag.isPermitted(PermissionTag.java:66)
org.apache.shiro.web.tags.HasPermissionTag.showTagBody(HasPermissionTag.java:32)
org.apache.shiro.web.tags.PermissionTag.onDoStartTag(PermissionTag.java:57)
org.apache.shiro.web.tags.SecureTag.doStartTag(SecureTag.java:53)
org.apache.jsp.success_jsp._jspx_meth_shiro_005fhasPermission_005f0(success_jsp.java:205)
org.apache.jsp.success_jsp._jspService(success_jsp.java:122)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)

index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

Hello World!

<form action="/login.do" method="post">
    <table>
        <tr>
            <td>账号:</td>
            <td><input name="username" value="${users.username}"/></td>
        </tr>
        <tr>
            <td>密码:</td>
            <td><input type="password" name="password" value="${users.password}"/></td><br/>
            <td><input type="submit" value="login"/><span style="font-size: 12px;color: red">${error}</span></td>
        </tr>

    </table>
</form>


登录成功之后的页面success.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>



Insert title here


${info }欢迎你


欢迎有admin角色的用户!shiro:principal/
/shiro:hasRole

欢迎有student:create权限的用户!shiro:principal/
/shiro:hasPermission

controller
@Controller
public class UsersController {

@Autowired
private UsersService usersService;

@RequestMapping("/login")
public String login(Model model,Users users){
    Subject subject = SecurityUtils.getSubject();
    UsernamePasswordToken token = new UsernamePasswordToken(users.getUsername(),users.getPassword());
    try {
        subject.login(token);

// Model model1 = (Model) subject.getSession();
// model1.addAttribute("info","welcome to");
// Session session = subject.getSession();
// session.setAttribute("info","Welcome To Shiro");
return "redirect:/success.jsp";
}catch (Exception e) {
e.printStackTrace();
model.addAttribute("users",users);
model.addAttribute("error","用户名或密码错误");
return "index";
}
}

}

  • 写回答

3条回答 默认 最新

  • jeff0225 2016-05-25 05:57
    关注

    下次问问题,得贴代码,大家才能分析...

    评论

报告相同问题?

悬赏问题

  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿