mybatis-shiro JSP使用标签报错

问题描述

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 {

@Autowiredprivate UsersService usersService;@RequestMapping(""/login"")public String login(Model modelUsers 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"";
}
}

}

解决方案

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

解决方案二:
Shiro提供了JSTL标签用于在JSP/GSP页面进行权限控制,如根据登录用户显示相应的页面按钮。
?
?
导入标签库

Java代码??

@taglib?prefix=""shiro""?uri=""http://shiro.apache.org/tags""?%>??

标签库定义在shiro-web.jar包下的META-INF/shiro.tld中定义。
?
gu......
答案就在这里:shiro jsp标签使用

时间: 2024-08-02 10:56:35

mybatis-shiro JSP使用标签报错的相关文章

spring-shiro jsp标签报错,大神给帮忙看下

问题描述 shiro jsp标签报错,大神给帮忙看下 页面用标签,报错,为何? java.lang.IllegalArgumentException: Wildcard string cannot be null or empty. Make sure permission strings are properly formatted. at org.apache.shiro.authz.permission.WildcardPermission.setParts(WildcardPermiss

html-插入jstl标签报错,求大神帮忙看下,网上解决方案都是错的

问题描述 插入jstl标签报错,求大神帮忙看下,网上解决方案都是错的 com.neusoft.unieap.action.EAPActionServlet.process(EAPActionServlet.java:814) >> org.apache.jasper.JasperException: Validation error messages from TagLibraryValidator for c null: org.xml.sax.SAXParseException: Attr

jsp连接数据库一直报错,求帮忙看下,谢谢

问题描述 jsp连接数据库一直报错,求帮忙看下,谢谢 <%@page language=""java"" import=""java.util.*"" pageEncoding=""utf-8""%><%@page import=""java.sql.*""%><html><body><% St

sqlserver-EXTJS动态加载树,后台JSP,为什么报错NO DATA FOUND呢?代码在下,多谢了!

问题描述 EXTJS动态加载树,后台JSP,为什么报错NO DATA FOUND呢?代码在下,多谢了! 代码:LoadTree.html test3 <script type="text/javascript"> var tree = new Ext.tree.TreePanel({ loader : new Ext.tree.TreeLoader({ dataUrl : 'tree.jsp?Did=00001' }), border : false, root : new

求助!jsp 中substring报错

问题描述 求助!jsp 中substring报错 String intime=request.getParameter(""d11"");//从文本框中获得的日期,这是从my97Date控件中获得的值,一开始时为空,点击查询按钮后才会有值String intime3=intime.substring(5 8); 出现下列错误:type Exception report message An exception occurred processing JSP page

mybatis查询是传参报错的处理

mybatis查询是传参报错的处理 自己用的数据库是mysql数据库,用mybatis管理,java后台是 spring框架, 控制台出现: 1 There is no getter for property named 'xxxx' in 'class java.lang.Integer 错误,查了一下,以为是xml中的sql的参数类型有错误,后来改了,不是,网上说改: <select id="selectAllUserByName" resultType="User

急急急急急急~JSP使用struts2标签报错啊~本机没问题,在服务器就有问题

问题描述 我写的项目,web.xml配置了<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><

MyBatis和SpringMVC的整合&amp;lt;mvc&amp;gt;标签报错分析

这几天在做MyBatis和SpringMVC的整合的时候,虽然已经在xml中引入了相关的命名空间和xsd,但是在使用<mvc:annotation-driven/>的时候eclipse仍然会报错,显示mvc的xsd文件不可读和找不到,网上都说是没有引入红框中的内容而导致报错的 ,但是经过检查自己的,已经是引入了的,还报错!如果大家也遇到了这种情况,可以使用下面的办法,自己也是在看遍百度上大大小小的问答后自己摸索出来的. 步骤: 1.找到自己下载的spring-framework-4.1.6.R

JSP 不能用 不支持 STRUTS标签 报错 The Struts dispatcher cannot be found.

JSP页加了<%@ taglib prefix="s" uri="/struts-tags"%> 以后,运行显示报错: Servlet.service() for servlet jsp threw exception The Struts dispatcher cannot be found. This is usually caused by using Struts tags without the associated filter. Strut