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";
}
}

}

0

3个回答

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

0
qq_28454325
qq_28454325 index.jsp
大约 3 年之前 回复
qq_28454325
qq_28454325 index.jsp
大约 3 年之前 回复

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

Java代码  

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

标签库定义在shiro-web.jar包下的META-INF/shiro.tld中定义。
 
gu......
答案就在这里:shiro jsp标签使用
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

0
qq_28454325
qq_28454325 引用了shiro的标签库,但还是报错
大约 3 年之前 回复

报错:Make sure permission strings are properly formatted.
确认你的权限字串已经格式化了

检查你的hasPermission: name属性

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
使用shiro标签遇到的坑
1、前言nn使用shiro框架做权限控制是不错的选择,在使用shiro标签的过程中,是否会遇到一些坑呢。恰好笔者遇到了,在此记录一下。nn2、shiro标签坑的描述nn标签:nnn&lt;shiro:haspermission name="你的权限"&gt;&lt;/shiro:haspermission&gt;nn当使用的标签具有层级关系的时候,就有可能掉坑里,并且出不来。nn例如:nn第一层级...
shiro使用注解式和jsp标签的方式进行开发
原先的时候可以使用url的shiro配置方式进行拦截,但是发现url地址过多会配置繁琐,解决的方式就是使用aop注解式和jsp标签进行开发n原来的方式n n n n n n ${adminPath}/sysindex.html = anonn /static/** = anonn <!-- 对应某个链接需要某个权限 取消这种url使用AOP注解n ${admi
在jsp中引用Shiro(二)
首先,推荐一套完整的Shiro Demo,免费的。Shiro Demo:http://www.sojson.com/shiro rnrn在页面上使用shiro标签的时候,会自动触发MyShiroRealm类中的用户授权方法doGetAuthorizationInfo,即在加载页面的时候,如果发现页面上有使用shiro标签(不是引入标签库的时候),那么,会返回回去先执行doGetAuthorizat
shiro学习--jsp标签
在页面上,如果要实现对某些文本、按钮等的控制,例如需要有什么角色或者权限才可以看见这个按钮,利用shiro自带的shiro标签能很容易就实现一、引入shiro标签库    首先得在jsp页面的头部引入EL表达式,来引入shiro标签,以及在本页面中使用的标签前缀&amp;lt;%@ taglib uri=&quot;http://shiro.apache.org/tags&quot; prefix=&quot;shiro&quot; %&amp;gt;...
JS文件中shiro标签无效,解决方案
场景:nn页面使用的是DataTables,做一个后台管理系统。页面按钮shiro标签可以直接控制,这个没问题,但是,列表,分页,以及列表每一行内的操作按钮都是通过引入一个js文件异步加载出来的。如:list.js.,列表每一行都有行内操作的需求,只是根据配置的权限,每个角色会有不同的操作权限。直接在list.js中用nnn&quot;columnDefs&quot;: [n {n 'orderable':...
Shiro教程(九)Shiro JSP标签的使用。
Shiro 提供了 JSP 的一套 JSTL 标签,用于做 JSP 页面做权限控制的。可以控制一些按钮和一些超链接,或者一些显示内容。nnFreemarker Shiro标签讲解:https://blog.csdn.net/baidu_37366055/article/details/88072120nnnnnn其实标签都是和Freemarker Shiro标签对应的,只不过是把...
(5)Shiro的tag标签
一.在普通的Jsp中使用Shiro标签1.引入头文件<%@ taglib uri="http://shiro.apache.org/tags" prefix="shiro"%>2.Shiro标签二.在Thymeleaf中使用Shiro标签1.Pom中加入: <dependency>n <groupId>com.github.theborakompanioni</groupId>
HTML和Jsp 页面使用 shiro标签备忘录
好久没用shiro了,以前学习时用了一下,过久了不用shiro的标签都不会用了,今天写一下来记录一下免得又得找半天n先把这用到shiro的html页面先写出来先nshiro 首先导入头部n&lt;html xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro"&gt;nn再来标签是...
shiro的freemaker标签配置使用
shiro的freemarker标签配置和使用
shiro 自定义标签
我是一名小菜鸡自定义shiro标签需要三步(我自定义了一个hasAnyPermissions 有任意一种权限资源显示)第一步:创建类(我测试的时候新建的包)第二步:在WEB-INF新建tld文件 (漂漂亮亮的起个名字)内容如下第三步  在jsp中引用之后就可以用了...
Shiro自定义标签
书写java类n继承org.apache.shiro.web.tags.PermissionTag类n重写showTagBody方法n代码package com.dilinbao.core.shiro.tag;import org.apache.shiro.subject.Subject;nimport org.apache.shiro.web.tags.PermissionTag;/**
Shiro——实现权限控制demo思路(包含自定义标签hasAnyPermission)
在很多系统中需要使用权限控制,来控制不同角色的人访问不同的资源。表达能力不好,不喜勿喷!nn环境:eclipse4.5.2+oracle11g+hibernate4+spring4+shiro+jbossnn源码(工程)+ 数据表sql(包含初始化数据)+hibernate4的包下载:源码下载nn一、权限实现思路:nn1、创建一个的权限存在Tpopedom表中,本Demo中“父权限ID”和“树的连...
JS中处理Shiro的权限标签问题
JSP中直接引用Shiro标签比较简单可以参考JSP / GSPn 标签库-Shiro权限学习1:http://blog.csdn.net/ahou2468/article/details/71130582nJS中引用Shiro的标签不起作用的问题解决方法:n1.第一种情况假如js中生成标签代码是固定死的解决起来比较容易,直接在需要权限判断标签前和后加上权限控制标签,即可以起作用
Shiro标签在FreeMarker中的使用
https://www.sojson.com/blog/143.html备注一下
shiro标签 与 权限注解
引入shiro标签 n如下: n<%@ taglib prefix=”shiro” uri=”http://shiro.apache.org/tags” %> n <!-- authenticated 用户已经经过身份验证,但不是记住我登录的 -->n<shiro:authenticated>n <shiro:principal />已经经过身份验证<br><br>n</shiro:au
自定义Shiro标签Tag
1:新建.tld文件<?xml version="1.0" encoding="UTF-8" ?>n<taglib xmlns="http://java.sun.com/xml/ns/javaee"n xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"n xsi:schemaLocation="http://java
thymeleaf 配置支持 shiro标签
使用jsp为模板的时候 shiro的引用是这样的:&lt;%@ taglib uri="http://shiro.apache.org/tags" prefix="shiro"%&gt;nn现在用thymeleaf这样引用就没用了,要这样引用:nnn&lt;html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymele...
shiro-从数据库中获取授权信息与显示菜单在页面上(注解版和jsp标签)
修改realm的doGetAuthorizationInfo,从数据库查询权限信息。rn使用注解式授权方法。rn使用jsp标签授权方法。rnrnrn1.修改doGetAuthorizationInfo从数据库查询权限rnrnrn // 用于授权,从数据中查询n protected AuthorizationInfo doGetAuthorizationInfo(n PrincipalColle
shiro权限标签在页面中的应用
首先定义标签格式,分为三个tag文件:rn1.hasAllPermissions.tag,代码如下:rnnnnn<%nn if(!StringUtils.hasText(delimiter)) {n delimiter = ",";//默认逗号分隔n }nn if(!StringUtils.hasText(name)) {n%>n n<%n
Maven+web+shiro集成,配置完成后,在进任何页面都包空指针异常。
java.lang.NullPointerException at org.apache.jsp.login_jsp._jspInit(login_jsp.java:31) at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:49) at org.apache.jasper.servlet.JspServletWrapper...
java安全框架-Shiro学习笔记(六)-url匹配方式+shiro标签使用+session会话机制
Url匹配方式:n? 匹配一个字符/admin? 可以匹配/admin1 /admin2 但是不能匹配/admin12 /adminn *   匹配零个或者一个或者多个字符/admin* 可以匹配/admin /admin1 /admin12 但是不能匹配/admin/abcn** 匹配零个或者多个路径/admin/** 可以匹配/admin /admin/a /admin/a/b
shiro jsp自定义标签
1.建tld文件   auth.tldnnnnn&amp;lt;taglib&amp;gt;n &amp;lt;tlib-version&amp;gt;1.1.2&amp;lt;/tlib-version&amp;gt;n &amp;lt;jsp-version&amp;gt;1.2&amp;lt;/jsp-version&amp;gt;n &amp;lt;short-name&amp;gt;gzc Shiro&amp;lt;/short-name&amp;gt;n &amp;lt;descript
shiro与thymeleaf结合使用时,前台shiro标签没有生效
添加beanrnrn//加上之后,前台的shiro标签才能生效rn    @Beanrn    public ShiroDialect shiroDialect(){rn        return new ShiroDialect();rn    }
用于Thymeleaf的Shiro HTML标签扩展
功能描述: 用于在页面模板中应用Shiro框架提供的功能,例如权限验证、角色判断、提取用户凭证信息等 开发环境: 运行环境:Jvm 语言支持:Java、Kotlin、Groovy等所有基于Jvm的语言 框架依赖:Spring/Spring Boot、Thymeleaf、Shiro 也可以在github上获取最新源码:https://github.com/edenyin307/thymeleaf-shiro-extags
Springboot整合Shiro并且在html页面使用Shiro标签
1.首先引入我们最重要的两个pom文件nnn &lt;!-- 页面使用shiro标签依赖 --&gt;n&lt;dependency&gt;n &lt;groupId&gt;com.github.theborakompanioni&lt;/groupId&gt;n &lt;artifactId&gt;thymeleaf-extras-shiro&lt;/...
springboot 中在ftl页面上使用shiro标签
1.首先第一步导入依赖&amp;lt;dependency&amp;gt;n    &amp;lt;groupId&amp;gt;com.github.theborakompanioni&amp;lt;/groupId&amp;gt;n &amp;lt;artifactId&amp;gt;thymeleaf-extras-shiro&amp;lt;/artifactId&amp;gt;n &amp;lt;version&amp;gt;1.2.1&amp;lt;/version&amp;gt; n
javaEE shiro框架,权限控制。shiro标签库控制权限,控制前端页面组件显示/隐藏
shiro框架的Jar包下载:https://pan.baidu.com/s/1GCeHV_5T4uP2rGZfUEwl3A  密码:bgr0nn nndemo.jsp(通过shiro标签控制组件元素的显示/隐藏):nnn&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot; pageEncoding=&quot;UTF-8&quot;%&amp;...
关于Shiro在Jetty下运行正常,但Tomcat下报错的原因和解决办法
[size=medium] 文章开始之前先扯点闲的,相比Spring Security 的强大复杂, Shiro是个简洁扩展性强易用的轻量级安全框架,源代码的思路也很清晰。如果你觉得安全框架都太过通用无法满足您的特殊需求,想构建公司内部的安全框架,那么参考shiro的实现也是个不错的思路。rnrn 项目运行环境:mac os 10.x ,maven3.0, eclipse ,...
【错误解决】解决maven项目引入标签库报错
首先我需要添加jstl的依赖,这样才能使用jstl标签库但是这时候还会报错,因为还需要添加taglib的依赖才能引入jstl标签库
html界面实现shiro前端界面权限
一.背景n由于项目所采用的框架是spring boot,对于jsp不支持,不能采用引入外部taglib的方式对前端界面进行权限控制,只能采用html作为前端界面。前端界面的div根据登陆用户的角色决定是否显示。nnn二.实现n首先设置前端的div为隐藏模式nnid="toolbar" style="display: none;">nnn设置一个随页面加载执行的函数,函数名称为
关于遇到jsp页面c:if标签的一个坑
在写前端页面的时候使用&amp;amp;lt;c:if test=&amp;quot;&amp;quot;&amp;amp;gt; &amp;amp;lt;/c:if&amp;amp;gt;标签,测试发现标签并没有起到效果rn仔细分析了一下可能出现的错误:rn1.使用&amp;amp;lt;c:if&amp;amp;gt;标签需要引入标签库:rn&amp;amp;lt;%@taglib prefix=&amp;quot;c&amp;quot; uri=&amp;quot;http://java.sun.co
Shiro如何集成Thymeleaf,前台根据Shiro标签赋权限。
1.pom.xml文件导入核心jar包nnn &lt;!--thymeleaf和shiro整合包--&gt;n &lt;dependency&gt;n &lt;groupId&gt;com.github.theborakompanioni&lt;/groupId&gt;n &lt;artifactId&gt;thymeleaf...
js中使用shiro标签的一个小坑
在jsp页面中使用shiro标签很简单rnrn你的标签rnrn这样就可以把标签加上权限了。rnrnrnrnrn但是有时候你的标签是js动态生成的,就像下面的例子:rnn n function objYHDataListBut(val,row,index){n var result = "";n var result = '  '+n '  ';n return resul
Shiro应用实例4
Shiro应用实例4 : 基于角色的JSP标签访问控制
struts2中 在jsp页面使用&lt;set&gt;标签报错
启动Tomcat时,报错。报错信息如下:According to the TLD or the tag file, attribute var is mandatory for tag set现在看jsp中set标签内容&amp;lt;s:set name=&quot;age&quot; value=&quot;20&quot; scope=&quot;request&quot;&amp;gt;&amp;lt;/s:set&amp;gt;&amp;lt;s:set name=&quot;username&a
thymeleaf模板整合shiro标签
一、引入依赖rnn org.thymeleafn thymeleaf-spring4n 3.0.5.RELEASEnnn com.github.theborakompanionin thymeleaf-extras-shiron 2.0.0n二、配置rn<bean id="templateResolver"n class="z3.dbus.web.mvc.Z3ThymeleafV
eclipse oxygen 4.7.0 bug 518987 fix
修复eclipse-jee-oxygen-R-win32-x86_64的 jsp html 标签Option 嵌入jsp标签,报错的问题。 d
【Shiro权限管理】16.Shiro标签
注:该系列所有测试均在之前创建的Shiro3的Web工程的基础上。n前面我们剖析了Shiro的授权流程,并且编写了授权的小实例。下面我们来探讨一下Shiro的n标签。nnShiro提供了JSTL标签用于在JSP页面进行权限控制,如根据登录用户显示相应的页面按钮。nShiro提供的标签有如下几种:n(1)guest标签:用户没有身份验证时显示相应信息,即游客访问信息。n例如:
shiro常用标签
&amp;lt;!--验证当前用户是否拥有指定权限。 --&amp;gt;n&amp;lt;a shiro:hasPermission=&quot;user:add&quot; href=&quot;#&quot; &amp;gt;add用户&amp;lt;/a&amp;gt;&amp;lt;!-- 拥有权限 --&amp;gt;nnn&amp;lt;!--与hasPermission标签逻辑相反,当前用户没有制定权限时,验证通过。--&amp;gt;n&amp;lt;p shiro:lacksPermi
jsp,c:foreach 标签报错,但不影响运行!!!!
n虽然不影响运行,但不到为什么错误咋整都删不掉,。。。。。。。。。。。。nn
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java 学习shiro jsp课程设计数据库