Spring Security3简单使用(权限配置在数据库中)
2013-05-12 20:50
447 查看
1、权限配置在数据库中,典型的五张表。
1)t_user 用户表
2)t_role 角色表
3)t_user_role 用户-角色关联表
4)t_resource 资源表
5)t_role_resource 角色-资源关联表
2、建表语句
3、对应的领域实体
1)用户
View Code
6、其中资源表内容如下
7、源码,含数据库文件和初始化值
http://files.cnblogs.com/luxh/app4.rar
8、在页面上的控制权限
1)引入标签: <%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>
2)使用标签:如下,审核操作时具有"ROLE_ADM"权限才可以看到。
1)t_user 用户表
2)t_role 角色表
3)t_user_role 用户-角色关联表
4)t_resource 资源表
5)t_role_resource 角色-资源关联表
2、建表语句
DROP TABLE IF EXISTS `t_resource`; CREATE TABLE `t_resource` ( `id` int(11) NOT NULL AUTO_INCREMENT , `name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , `url` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , PRIMARY KEY (`id`) ) DROP TABLE IF EXISTS `t_role`; CREATE TABLE `t_role` ( `id` int(11) NOT NULL AUTO_INCREMENT , `name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , PRIMARY KEY (`id`) ) DROP TABLE IF EXISTS `t_role_resource`; CREATE TABLE `t_role_resource` ( `id` int(11) NOT NULL AUTO_INCREMENT , `role_id` int(11) NULL DEFAULT NULL , `resource_id` int(11) NULL DEFAULT NULL , PRIMARY KEY (`id`) ) CREATE TABLE `t_user` ( `id` int(11) NOT NULL AUTO_INCREMENT , `account` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , `password` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , PRIMARY KEY (`id`) ) DROP TABLE IF EXISTS `t_user_role`; CREATE TABLE `t_user_role` ( `id` int(11) NOT NULL AUTO_INCREMENT , `user_id` int(11) NULL DEFAULT NULL , `role_id` int(11) NULL DEFAULT NULL , PRIMARY KEY (`id`) )
3、对应的领域实体
1)用户
View Code
package cn.luxh.app.security; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.security.core.Authentication; import org.springframework.security.web.authentication.AuthenticationSuccessHandler; /** * 登录验证成功处理器 * @author Luxh */ public class LoginAuthenticationSuccessHandler implements AuthenticationSuccessHandler{ private static Logger log = LoggerFactory.getLogger(LoginAuthenticationSuccessHandler.class); //登录验证成功后需要跳转的url private String url; public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException { log.info("登录验证成功:"+request.getContextPath()+url); //response.sendRedirect(request.getContextPath()+url); request.getRequestDispatcher(url).forward(request, response); } public void setUrl(String url) { this.url = url; } }
6、其中资源表内容如下
7、源码,含数据库文件和初始化值
http://files.cnblogs.com/luxh/app4.rar
8、在页面上的控制权限
1)引入标签: <%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>
2)使用标签:如下,审核操作时具有"ROLE_ADM"权限才可以看到。
<sec:authorize ifAnyGranted="ROLE_ADM"> <li><a href="javascript:auditPage('${ctx}/task/auditPage?taskId=${task.taskId}')">审核</a></li> </sec:authorize>
相关文章推荐
- 非使用hibernate配置实体类关联数据库表,简单javaBean开发时读取一条数据解决方案
- postgreSQL 用户、角色、权限、数据库的简单使用
- 简单两步快速实现shiro的配置和使用,包含登录验证、角色验证、权限验证以及shiro登录注销流程(基于spring的方式,使用maven构建)
- 安装Gogs及简单配置(使用默认数据库)
- MySQL---数据库从入门走向大神系列(七)-Java访问数据库配置及简单使用方法execute
- jdbc访问数据库简单封装与配置 使用工厂和mvc
- Spring Security3简单使用(权限配置在文件中)
- 今天给大家说说使用Jenkins专有用户数据库的配置,和一些常用的权限配置。
- 简单两步快速实现shiro的配置和使用,包含登录验证、角色验证、权限验证以及shiro登录注销流程
- Spring Security3简单使用(权限配置在文件中)
- oracle 10g数据库闪回配置与使用
- NHibernate 配置文件的处理和使用多数据库的多层架构思路(补充部分二)
- MySQL 5.6容器使用自定义配置文件的权限问题
- ASP.NET中使用web.config配置数据库连接
- 关于配置tnsnames来使用PLSQL连接数据库
- Dubbo简单配置使用
- Web Storage做为简单数据库来使用
- centos安装supervisor守护进程与简单配置使用
- CornerStone使用教程(配置SVN,HTTP及svn简单使用)
- Android中Tomcat的简单配置和使用