- 浏览: 6725 次
- 性别:
- 来自: 杭州
最新评论
文章列表
SpringMVC+Shiro权限管理实例
- 博客分类:
- shiro
Shiro-pom.xml
Shiro-web.xml
Shiro-MyShiro-权限认证,登录认证层
Shiro-applicationContext-shiro.xml
HomeController
三个JSP文件
什么是权限呢?举个简单的例子:
我有一个论坛,注册的用户分为normal用户,manager用户。
对论坛的帖子的操作有这些:
添加,删除,更新,查看,回复
我们规定:
normal用户只能:添加,查看,回复
manager用户可以:删除,更新
normal,manager对应的是角色(role)
添加,删除,更新等对应的是权限(permission)
我们采用下面的逻 ...
HandlerInterceptor的使用::
1、org.springframework.web.servlet.HandlerInterceptor位于spring-webmvc.jar中,是一个spring拦截器,默认实现类为:
org.springframework.web.servlet.handler.HandlerInterceptorAdapter
2、可用于拦截用户的每个请求数据,主要作用如下 ...
1、通过http请求头中的X-Requested-With字段,判断请求的方式是否为ajax请求,
public static boolean isAjaxRequest(HttpServletRequest request) {
String header = request.getHeader("X-Requested-With");
return header != null && "XMLHttpRequest".equals(header);
}
2、传统请求和ajax请求的抓包对比分析如下:
两种请求在请求的Heade ...
在执行数据插入,如何返回插入的该条数据的主键。各种数据库生成主键的策略各不相同,如使用序列事前生成主键的Oracle和PostgreSQL;事后生成主键的MySQL和SQL Server。下面将介绍使用mybatis统一处理的过程
一、selectKey简介
selectKey会在执行数据插入之前,先为该条待插入的记录生成一个主键。并插入之后,将该主键返回。
<selectKey keyProperty="id" resultType="int" order="BEFORE“ statementType="PREPARED&quo ...
常见帮忙:
1、常见API使用文档:http://tool.oschina.net/apidocs
学习帮助:
1、leetcode:编程实践
2、coursera:课程教学
3、新浪微博36讲 android
shiro三大核心模块:Subject(用户)、SecurityManager(框架心脏)、Realm(Shiro与应用安全数据间的“桥梁”)
SecurityManager去管理cacheManager缓存和sessionManager会话,sessionManager再去管理sessionDAO会话DAO 和sessionIdCookie会话ID生成器和sessionValidationScheduler会话验证调度器,cacheManager通过使用Ehcache实现,Realm通过自己自定义或者其他方式的权限存储来实现,比如登录等.
使用统一数据访问层
内置的FilterChain
= ...
一.Callable与Runnable
先说一下java.lang.Runnable吧,它是一个接口,在它里面只声明了一个run()方法:
1
2
3
public interface Runnable {
public abstract void run();
}
由于run()方法返回值为void类型,所以在执行完任务之后无法返回任何 ...
(1) ReentrantLock的条件对象
通常,线程进入临界区,却发现在某一条件满足之后才能执行,条件对象就是用来管理那些已经获得了锁,但是却不能做有用工作的线程。
一个锁对象可以有一个或多个相关的条件对象,我们可用lock.newCondition()方法获得一个条件对象。
ReentrantLock myLock = new ReentrantLock();
// 获得锁myLock的一个条件对象
Condition condition = myLock.newCondition();
下面我们直接通过代码来学习条件对象的使用。
以下代码实现的是简单的生产者和消费者案例:
public ...