文档章节

apache shiro

q1021963030c
 q1021963030c
发布于 2015/08/18 17:06
字数 337
阅读 236
收藏 3
点赞 0
评论 0

shiro 有很多默认路径设置 登录路径默认是/login.jsp

successUrl 默认是/     ???(没找到资料,测试推测结果)

logout 默认路径是 /logout


登录验证可分为两种方式实现,

第一种,使用默认的过滤登录验证操作,用户无需写login验证逻辑,loginurl必须改为authc权限

第二种,使用自定义验证操作,用户无需写login验证逻辑,loginurl必须改为anon权限

 try { 
            SecurityUtils.getSubject().login(new UsernamePasswordToken(userName, userpassword)); 
            return "/api/list";
        } catch (AuthenticationException e) { 
            logger.info("login post error");
            return "/account/login";
        } 


解决session过期后,用户再次登录后,shiro能自动跳转到之前的页面问题,

  1. 可以使用自定义验证操作改变这个问题。

  2. 可以参考:打印出session中所有的值,总有一个存的路径

  http://m.blog.csdn.net/blog/LHacker/20450855

if(WebUtils.getSavedRequest(req)!=null){
            String url = WebUtils.getSavedRequest(req).getRequestUrl();
            logger.info("url"+url);
            
        }
        
        logger.info("shiroSavedRequest"+req.getSession().getAttribute("shiroSavedRequest"));

参考:开涛博客

http://jinnianshilongnian.iteye.com/blog/2018398

参考:http://m.blog.csdn.net/blog/LHacker

http://my.oschina.net/miger/blog/283526


jsp页面权限内容显示权限控制参考:

http://www.360doc.com/content/14/0529/10/11298474_381933566.shtml


官网:http://shiro.apache.org/

注解实现:http://jinnianshilongnian.iteye.com/blog/2029717












<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
        <property name="securityManager" ref="securityManager" />
        <property name="loginUrl" value="/login" />
        <!-- <property name="successUrl" value="/" /> -->
        <property name="filterChainDefinitions">
            <value>
                /login = authc
                /logout = logout
                /static/** = anon
                /api/** = anon
                /register/** = anon
                /admin/** = roles[admin]
                /** = user
            </value>
        </property>
    </bean>

© 著作权归作者所有

共有 人打赏支持
q1021963030c
粉丝 0
博文 3
码字总数 731
作品 0
昌平
异常显示好像是realms的问题,我调试的时候securityManager的realms为空,求大神解决​

package com.demo.shiro; import java.util.HashSet; import java.util.Set; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.AuthenticationException; import org.......

大大的微笑 ⋅ 2015/12/04 ⋅ 0

Apache Shiro官方文档翻译系列

Apache Shiro官方文档翻译系列 1. Apache Shiro 简介 2. Apache Shiro 术语 3. Apache Shiro 教程 4. Apache Shiro 架构 5. Apache Shiro 配置 6. Apache Shiro 认证 7. Apache Shiro 授权 ......

士别三日 ⋅ 2016/09/28 ⋅ 0

dreampia 启动时候报错

@Dreampie 你好,想跟你请教个问题: 信息: Initializing Shiro environment 961 [localhost-startStop-1] ERROR org.apache.shiro.web.env.EnvironmentLoader - Shiro environment initial......

J_ohnson ⋅ 2015/06/02 ⋅ 0

启动报错,shiro 启动失败

信息: Initializing Shiro environment 961 [localhost-startStop-1] ERROR org.apache.shiro.web.env.EnvironmentLoader - Shiro environment initialization failed java.lang.NoClassDefF......

J_ohnson ⋅ 2015/06/02 ⋅ 1

Unable to instantiate class [org.icedog.common.shiro.MyJdbcRealm] for object named 'jdbcRealm'.

以前的工程导入到本机启动报如此错误,大神们帮一下忙, 很急 谢谢 七月 11, 2017 11:19:11 上午 org.apache.catalina.core.StandardContext listenerStart SEVERE: Exception sending conte...

蓝蓝天 ⋅ 2017/07/11 ⋅ 0

web项目打包war部署成功后,访问出现错误

java.lang.AbstractMethodError: com.jfinal.ext.plugin.shiro.ShiroInterceptor.intercept(Lcom/jfinal/core/ActionInvocation;)V at com.jfinal.core.ActionInvocation.invoke(ActionInvoc......

Mryt ⋅ 2017/03/07 ⋅ 1

Session with id [sessionid] has been explicitly stopped. No further interaction under this session is allowed.为什么session会变

org.apache.shiro.session.StoppedSessionException: Session with id [ac645f7e-3e73-457b-9bdb-830f1c3af552] has been explicitly stopped. No further interaction under this session i......

attacker ⋅ 2014/04/25 ⋅ 2

springrain 的 session 问题

@光石头 你好,想跟你请教个问题: DEBUG: org.apache.shiro.web.servlet.SimpleCookie - Found 'SHAREJSESSIONID' cookie value [ed45e3e1-4c00-4e9e-9018-917f6ac59176] DEBUG: org.apache......

cgnq ⋅ 2016/01/20 ⋅ 1

shiro的Authentication failed for token submission问题

最近想对原有系统做水平拓展,将现在跑的程序在另外一台服务器上搭建了一套,两个用相同的数据库。然后出现登录失败的情况,测试原有的系统是好的,在新的系统中发现有错误日志,日志如下,有...

youarepp ⋅ 2017/02/09 ⋅ 1

shiro-EhCache 登陆认证时报错

环境:apache-tomcat-8.0.32 servlet:2.5 spring-framework.version:4.2.4.RELEASE jdk:1.7 shiro.version:1.2.4 spring-cache.version:2.2 报错提示: org.apache.shiro.authc.Authent......

小白吃老虎 ⋅ 2017/04/26 ⋅ 1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

如何使用serverchan微信推送告警

之前实现推送告警信息到微信的方法有如下几种: 1、通过企业公众号实现----收费: 2、通过QQ邮箱,在微信平台上开启收到邮件进行提醒; 3、第三方告警平台API,一般也是收费的; 不过最近看文...

问题终结者 ⋅ 9分钟前 ⋅ 0

TCP的RPC

RPC就是远程方法调用(Remote Process Call ),包含了客户端和服务端,涉及了对象的序列化传输。 1.服务端启动,注册远程调用的类2.客户端发送请求信息包含类、方法、参数的一些信息、序列化传...

Cobbage ⋅ 30分钟前 ⋅ 0

IOS-UI UI初步代码布局添加事件

ISO开发界面,UI是必须学习的一部分,其实很早之前想学来了,一直没有沉下心来学习。看到IOS的代码风格和布局就别扭的不行,跟java代码和android布局比较显得不是那么方便,所以一直到现在。...

京一 ⋅ 40分钟前 ⋅ 0

浅谈OpenDaylight的二次开发

OpenDaylight作为一款开源SDN网络控制器,依托于强大的社区支持以及功能特性,成为了目前主流的SDN网络控制器开发平台。在比较稳定的OpenDaylight Helium版本中,已经为开发者提供了大量的网...

wangxuwei ⋅ 49分钟前 ⋅ 0

API 开发中可选择传递 token 接口遇到的一个坑

在做 API 开发时,不可避免会涉及到登录验证,我使用的是jwt-auth 在登录中会经常遇到一个token过期的问题,在config/jwt.php默认设置中,这个过期时间是一个小时,不过为了安全也可以设置更...

等月人 ⋅ 50分钟前 ⋅ 0

Java NIO之文件处理

程序要操作本地操作系统的一个文件,可以分为以下三个部分: 对文件位置的操作 对文件的操作 对文件内容的操作 其中,对文件内容的操作在 Java NIO之Channel 中已经有了介绍,通过FileChann...

士别三日 ⋅ 55分钟前 ⋅ 0

Maven的pom.xml配置文件详解

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.......

小海bug ⋅ 今天 ⋅ 0

解决httpclient超时设置不生效的问题

最近公司有项目需要通过http调用第三方服务,且第三方服务偶有超时,故需要设置一定的超时时间防止不响应的情况出现。 初始设置如下: [java] view plain copy //超时设置 RequestConfig re...

Mr_Tea伯奕 ⋅ 今天 ⋅ 0

过滤器Filter和拦截器HandlerInterceptor

过滤器 依赖于servlet容器。在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的是用来做一些过滤操作,获取我们想要...

hutaishi ⋅ 今天 ⋅ 0

Redis入门详解(转)

Redis入门详解 Redis简介 Redis安装 Redis配置 Redis数据类型 Redis功能 持久化 主从复制 事务支持 发布订阅 管道 虚拟内存 Redis性能 Redis部署 Redis应用场景 Redis总结 Redis简介: Redi...

xiaoyaoyoufang ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部