`
Rod_johnson
  • 浏览: 73837 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

用户,角色,权限常用实现方法

阅读更多

用户,角色,权限常用实现方法

数据库表形式

用户表

用户编号

用户名

密码

角色编号

1

用户1

8888

1

 

角色表

角色编号

角色名

1

角色1

 

 

编号

功能

父编号

URL

1

图书管理

0

App/admin/11.jsp

2

图书校对

1

App/admin/12.jsp

3

图书调配

1

App/admin/13.jsp

4

图书注销

1

App/admin/14.jsp

5

删除图书

1

App/admin/15.jsp

6

数据备份

0

Backup.do

7

权限设置

0

App/admin/16.jsp

8

部门管理

0

App/admin/17.jsp

 

 

角色权限对应表

编号

角色编号

功能编号

权限

1

1

1

Y

2

1

2

Y

3

1

3

Y

4

1

4

Y

5

1

5

N

6

1

6

N

7

1

7

N

8

1

8

N

 

分享到:
评论
14 楼 lucky16 2009-08-03  
是有点麻烦!
但是还是学习了。
过几天要用这个。
希望有人可以有更简单快捷的方法出来
13 楼 yewen0125 2009-02-24  
这个很普通
12 楼 christensen 2009-02-19  
的确很常用
11 楼 fjlyxx 2009-02-19  
应该去掉权限的概念   新加一个资源的概念
10 楼 greencoffee 2009-02-18  
已经老掉牙了
9 楼 luoso 2009-02-18  
很常见的方法,还有,如果还要加一个工作组的话要复杂很多
8 楼 iranger 2009-02-18  
我就是看到rod johnson才进来看的
7 楼 leeldy 2009-01-12  
看到多角色多权限我就想着用二进制的位运算的方式实现。。。
可能这是用C用出来的后遗症:不遗余力的改进算法,提升性能。。。
6 楼 jltest 2009-01-12  
很平常的方法。
5 楼 Rod_johnson 2009-01-12  
xuyao 写道
最简单的权限设计方式,不过还是要支持一下。另外您的名字太过了

关于名字 Rod Johnson 是我的偶像 我本来以为有人已经注册了 可发现没人用 所以就用了!哈哈

关于权限 我希望能有高手把它抽像成非侵入框架 让后通过简单的配置就可以使用那样就方便多了!
4 楼 xuyao 2009-01-12  
最简单的权限设计方式,不过还是要支持一下。另外您的名字太过了
3 楼 8vip 2009-01-12  
这么好的帖子,怎么没有人啊.非顶不可
2 楼 8vip 2009-01-12  
这么好的帖子,怎么没有人啊.非顶不可
1 楼 Rod_johnson 2009-01-11  
实现代码!
import java.util.Set;   
  
public class UserVo {   
    private Integer id;   
    private String uname;   
    private String password;   
    private Level level;   
       
       
       
    public Level getLevel() {   
        return level;   
    }   
    public void setLevel(Level level) {   
        this.level = level;   
    }   
    public String getUname() {   
        return uname;   
    }   
    public void setUname(String uname) {   
        this.uname = uname;   
    }   
    public String getPassword() {   
        return password;   
    }   
    public void setPassword(String password) {   
        this.password = password;   
    }   
    public Integer getId() {   
        return id;   
    }   
    public void setId(Integer id) {   
        this.id = id;   
    }   
  
}   
  
  
  
public class Level {   
    private Integer id;   
    private String levelName;   
    private Set<Quanxian> qx = new HashSet<Quanxian>(0);   
    public Integer getId() {   
        return id;   
    }   
    public void setId(Integer id) {   
        this.id = id;   
    }   
    public String getLevelName() {   
        return levelName;   
    }   
    public void setLevelName(String levelName) {   
        this.levelName = levelName;   
    }   
    public Set<Quanxian> getQx() {   
        return qx;   
    }   
    public void setQx(Set<Quanxian> qx) {   
        this.qx = qx;   
    }   
}   
  
public class Quanxian {   
    private Integer id;   
    private String quanxian;   
    private Integer fatherid;   
    private String url;   
    public Integer getFatherid() {   
        return fatherid;   
    }   
    public void setFatherid(Integer fatherid) {   
        this.fatherid = fatherid;   
    }   
    public Integer getId() {   
        return id;   
    }   
    public void setId(Integer id) {   
        this.id = id;   
    }   
    public String getQuanxian() {   
        return quanxian;   
    }   
    public void setQuanxian(String quanxian) {   
        this.quanxian = quanxian;   
    }   
    public String getUrl() {   
        return url;   
    }   
    public void setUrl(String url) {   
        this.url = url;   
    }   
  
}   
  
  
public class AdminLoginCheck extends HttpServlet implements Filter {   
  
//通过 一个过滤器 Filter 进行权限控制   
       private FilterConfig filterConfig;   
        //Handle the passed-in FilterConfig   
           
        public void init(FilterConfig filterConfig) throws ServletException {   
            this.filterConfig = filterConfig;   
  
        }   
  
        //Process the request/response pair   
        public void doFilter(ServletRequest request, ServletResponse response,   
                             FilterChain filterChain) {//System.out.println(this.getClass()+": doFilter()");   
            HttpServletRequest req = (HttpServletRequest)request;   
            //System.out.println(req.getServletPath());   
               
            HttpServletResponse res = (HttpServletResponse)response;   
            HttpSession ses = req.getSession();   
Uservo uervo =ses.getAttribute("user")   
            try {//System.out.println("in Adminloginf........");   
                if(uervo ==null)   
                {   
                res.sendRedirect(req.getContextPath());   
                }else{   
                 Boolean allow= false ;   
                 Set<Quanxian> qxs = uservo.getLevel().getQx();   
                 For(Quanxian o:qxs){   
                    If(o.getUrl().equals(req.getServletPath())){   
allow=true;   
}   
}   
If(allow){   
 filterChain.doFilter(request, response);}   
                }   
            } catch (ServletException sx) {   
                filterConfig.getServletContext().log(sx.getMessage());   
            } catch (IOException iox) {   
                filterConfig.getServletContext().log(iox.getMessage());   
            }   
        }   
  
        //Clean up resources   
        public void destroy() {   
        }   
}  

相关推荐

    SpringBoot + SpringSecurity + JPA 实现用户角色权限登录认证

    本项目结合了SpringBoot、SpringSecurity以及JPA(Java Persistence API),实现了用户角色权限的登录认证功能。以下是关于这些技术及实现过程的详细讲解。 1. **SpringBoot**:SpringBoot简化了Spring应用的初始...

    Asp.net中的用户角色权限设计

    下面将详细探讨Asp.net中实现用户角色权限设计的核心概念、技术和最佳实践。 首先,Asp.net提供了一个内置的安全框架,包括身份验证(Authentication)和授权(Authorization)两部分。身份验证用于确认用户身份,...

    用户角色权限重新开放下载

    在Java开发中,用户角色权限的实现通常涉及Spring Security或Apache Shiro等安全框架。这些框架提供了丰富的API和配置选项,帮助开发者轻松地实现认证(验证用户身份)和授权(决定用户是否可以执行特定操作)功能。...

    基于角色的权限管理数据库设计

    RBAC(Role-Based Access Control)是一种常用的安全管理机制,它通过定义不同的角色以及这些角色对应的权限来实现对系统的访问控制。 #### 数据库结构设计 ##### 用户表 (RBAC_User) 用户表用于存储系统中的所有...

    基于角色的权限管理系统视频教程

    很多初学者面对这样的需求不知道如何下手,特别是稍微复杂点的权限,更是找不到方向,为此我们夜鹰教程网特别推出了这套基于角色的权限管理视频教程,通过给用户分配角色,给角色分配权限,来实现权限管理。...

    ThinkPHP(RBAC)权限管理系统_第29讲_角色导航菜单加载

    RBAC是一种常用的权限管理模式,它通过角色来间接控制用户对系统的访问权限,简化了权限的管理。 首先,理解RBAC的基本概念是至关重要的。在RBAC模型中,用户通过扮演不同的角色来获得相应的权限。角色是一组预定义...

    GIS用户权限管理-基于角色的用户权限管理模块

    基于角色的用户权限管理(Role-Based Access Control, RBAC)是一种常用的方法,它将权限与特定的角色关联,而不是直接分配给单个用户。这种模式提高了系统的灵活性和可管理性,同时也降低了权限管理的复杂性。 ...

    SpringMVC实现用户角色管理

    在本项目中,我们将探讨如何利用SpringMVC来实现用户角色的管理。这个过程通常包括用户注册、登录验证、角色分配以及权限控制等多个环节。 首先,我们需要创建一个数据模型,用于存储用户和角色的信息。用户模型...

    C#通用权限

    3. 角色权限映射:为每个角色分配能访问的菜单ID集合,运行时比较用户角色和菜单ID。 三、方法权限 方法权限则是在业务逻辑层进行的,用于控制用户是否能够调用某个具体的方法。.NET提供了几种方法级别的权限控制:...

    【猿来入此】SSM框架角色权限管理系统脚手架源码

    这个“猿来入此”提供的SSM框架角色权限管理系统脚手架源码,是一个完整的开发基础,可以帮助开发者快速搭建一套具备用户角色权限管理功能的系统。 1. **Spring框架**:Spring作为核心容器,负责管理对象的生命周期...

    SSM框架实现一个用户系统(登录,用户列表,分页,增删改查,用户角色管理功能)

    这个项目实现了用户管理系统,包含了登录、用户列表展示、分页、增删改查以及用户角色管理等功能,适合初学者了解SSM框架的实际运用。 1. **Spring框架**:Spring作为核心容器,负责管理所有Bean的生命周期和依赖...

    c#实现如何树形管理权限

    在权限系统中,树形结构是一种常用的数据模型,它能够清晰地展示不同用户或角色的权限关系。每个节点代表一个权限项,节点间的层级关系则表示权限的包含与被包含关系。例如,一个父节点可能代表一个大的权限类别,而...

    修改普通用户权限

    接下来,我们将围绕“修改普通用户权限”这一主题进行深入探讨,内容将涵盖修改权限的重要性、常见操作方法、注意事项以及最佳实践等。 ### 一、修改权限的重要性 #### 1. 安全性提升 - **最小权限原则**:为用户...

    ssh2,easyui权限管理系统(人员、角色、权限)

    总结起来,这个SSH2和EasyUI权限管理系统通过Java后端和前端UI组件协同工作,实现了人员、角色和权限的高效管理,为用户提供了安全、便捷的访问控制。在实际项目中,这样的系统可以广泛应用于企业内部的信息化管理...

    java角色权限源码

    在实现角色权限管理时,通常会设计三个核心概念:用户(User)、角色(Role)和权限(Permission)。用户可以拥有多个角色,角色又可以包含多个权限。在SpringMVC和Hibernate的配合下,我们可以轻松地实现用户的登录...

    tp5开发网站,含auth权限角色管理,可以对角色的权限进行设置百度编辑器使用

    在网站开发中,权限管理是不可或缺的一部分,Auth组件在TP5中提供了灵活的角色权限控制。它允许我们定义不同的角色,并为每个角色分配不同的操作权限。通过使用Auth,可以实现如用户登录、权限验证、角色授权等功能...

    SpringBoot 集成 Shiro 实现动态uri权限

    在Web应用中,权限控制通常包括角色管理、菜单管理、操作权限(URI)管理等,而动态URI权限则允许在运行时根据用户角色动态分配和更新权限。 **SpringBoot** 是一个简化Spring应用初始搭建以及开发过程的框架,它...

    这是一个后台基础库,包括用户、机构、角色、权限等常用功能,并集成微信公众号、小程序支持.zip

    作为一款无需下载安装即可使用的应用,【小程序名称】依托于微信庞大的生态系统,让用户在微信内就能轻松实现各种功能操作。 【小程序名称】的核心功能主要集中在【具体服务领域】,例如在线购物、本地生活服务、...

    基于Web的角色的权限系统

    在构建基于Web的角色权限系统时,我们关注的核心是实现安全、高效且易于管理的用户访问控制。这样的系统允许管理员分配特定的角色给用户,每个角色拥有不同的权限,从而控制用户对系统资源的访问。以下是该系统涉及...

Global site tag (gtag.js) - Google Analytics