网站首页  词典首页

请输入您要查询的论文:

 

标题 Apache Shiro框架在Web系统的安全应用研究
范文

    梁清华 胡安明

    

    摘要:Web系统中中用户授权访问 随着互联网技术的不断发展,Web安全也成为信息系统开发建设过程中的需要重点关注的内容之一。本文结合Apache Shiro框架,探讨在Web系统中如何应用Apache Shiro框架,来提高系统安全性、健壮性;为信息系统安全性建设提供思路。

    关键词:Apache Shiro; RBAC模式;信息系统安全

    中图分类号:TP311? ? 文献标识码:A

    文章编号:1009-3044(2021)06-0052-02

    1 引言

    随着互联网技术的发展,各类信息系统从人们的工作与生活,到国家的经济建设扮演着越来越重要的角色。如何确保信息系统安全,是信息系统运行的重要基础;因此信息系统安全也是信息系统的重要研究内容。

    按Web信息系统安全策略可分为:DAC自主式访问控制策略、ACL访问控制策略、MAC强制访问控制策略、RBAC基于角色访问控制策略;其中RBAC基于角色访问控制策略使用较为广泛。本文以Web信息系统中RBAC基于角色访问控制策略进行研究,探讨使用Apache Shiro技术下,如何实现基于角色-权限-资源相结合的访问控制方法。

    2 Apache Shiro框架

    Shiro源自JSecurity项目,2008年加入 Apache 基金会,成为Apache 基金会下的一个基于Java开源安全开发框架,Shiro采用模块化设计,具有良好的健壮性和易用性,Apache Shiro框架提供了身份验证、访问授权、数据加密、会话管理等一系列安全管理模式,能为各类信息系统提供安全解决方案,是目前业界JavaEE平台广泛使用安全技术框架。Apache Shiro框架主要由Authentication、Authorization、Session Management Cryptography四部分组成。

    Apache Shiro登录授权流程如下:Apache Shiro首先由Subject对象与系统进行交互数据,获取需要进行验证的用户信息;然后交与SecurityManager对象进行验证;SecurityManager对象是Shiro中的核心对象,负责协同各个模块进行实现验证授权;SecurityManager在获取到用户信息后,会调用Realm对象获取数据库用户数据信息,及角色、权限等信息,实现验证授权整个过程。Realm对象类似于项目中的数据访问层DAO对象实现Shiro框架与数据库间的连接。

    3 基于Apache Shiro角色访问控制应用的设计

    基于Apache Shiro角色访问控制系统的系统流程图1所示,用户向Web Server服务器发起访问请求,将用户访问请求及数据传递至Apache Shiro框架,由Apache Shiro中SecurityManage對象调用Realms调用Service层,实现获取数据库中用户信息及角色权限信息,返回给SecurityManage对象进行验证授权,实现整个角色访问控制。

    Apache Shiro数据库设计主要数据库表有:T_user(用户表)、T_source(资源列表)、User_Relo(角色表)、User_Relo_Perms(权限表),主要实现用户信息-用户角色-角色权限信息及访问资源等。

    Apache Shiro访问控制模块使用DelegatingFilterProxy对象通过过滤器实现,在项目的web.xml文件增加该项过滤器的配置:

    ? shiroFilter

    org.springframework.web.filter.DelegatingFilterProxy

    ?

    

    shiroFilter

    /*

    

    然后在项目资源文件夹中新建Application_Shiro.xml文件,进行Shiro配置,配置过程如下:

    

    

    

    

     <!--anon表示无需验证,authc表示需要验证-->

    /index.html = anon? ? ? /login = anon

    /* = authc?

    

    

    编写CustomerRealm类,Customer-Realm类是完成用户登录验证授权的基础核心,CustomerRealm类继承AuthorizingRealm 类,重写doGetAuthorizationInfo和doGetAuthenticationInfo方法,代码如下:

    protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken

    authenticationToken) throws AuthenticationException {

    String name = (String) authenticationToken.getPrincipal();

    String password = getPassword(name);

    if (password == null) {return null; }

    simpleAuthenticationInfo.setCredentialsSalt(ByteSource.Util.bytes(name));

    return simpleAuthenticationInfo;

    }

    4 結束语

    本文通过对Apache Shiro的介绍和分析,论述Apache Shiro功能结构及验证授权过程进行,并对Apache Shiro技术原理分析探讨,Apache Shiro技术较好的解决Java类信息系统中访问控制RBAC模型实现方案。Apache Shiro技术灵活、高效,在目前的Java类信息系统项目中广泛应用。

    参考文献:

    [1] 庞希愚,王成,仝春玲.基于角色-功能的Web应用系统访问控制方法[J].计算机工程,2014,40(5):144-148.

    [2] 徐孝成.基于Shiro的Web应用安全框架的设计与实现[J].电脑知识与技术,2015,11(16):93-95.

    [3] 杨静,季新生,刘彩霞.基于角色访问控制的HSS数据库越权访问防护[J].电子技术应用,2011,37(4):145-148.

    [4] 高秀慧,高建华.基于J2EE框架的Web应用可靠性研究[J].计算机工程与设计,2013,34(4):1270-1275,1323.

    【通联编辑:闻翔军】

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2024/12/22 17:37:45