安全框架Shiro怎么配置(shiro,开发技术)

时间:2024-05-07 16:44:41 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    %E5%AE%89%E5%85%A8%E6%A1%86%E6%9E%B6Shiro%E6%80%8E%E4%B9%88%E9%85%8D%E7%BD%AE

Shiro是一个很简洁的安全框架,类似的Spring Security则要复杂许多。虽然spring-boot集成的是Spring Security,但我们还是选择了Shiro。

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

安全框架需要处理的事情:

访问受保护页面必须有权限。如果没有登录,则自动重定向至登录页面;如果登录了,没有权限则显示没有权限。

登录的时候需要校验密码和用户状态(被锁定的用户不能登录),并获取用户的权限信息,以判断用户是否有权访问该页面。

在页面里要能判断用户是否具有访问某一页面的权限,以便控制是否显示该功能。

Shiro使用Servlet Filter过滤器保护受访的页面,通过下面介绍的shiroFilterChainDefinitionMap配置需要保护的页面路径。

使用AuthorizingRealm获取用户密码及权限信息,即下面介绍的com.jspxcms.core.security.ShiroDbRealm。

在JSP页面中使用标签<shiro:hasPermission name="my:perm:code">判断是否有访问Controller中@RequiresPermissions("my:perm:code")标识的方法。

配置类com.jspxcms.core.ShiroConfig(7.0及之前版本/src/main/resources/conf/context-shiro.xml)

权限相关的类包:com.jspxcms.core.security

加密相关的公用类包:com.jspxcms.common.security

核心类:

com.jspxcms.core.security.CmsAuthenticationFilter 登录逻辑处理类。包括加入验证码判断、记录登录日志的逻辑。

com.jspxcms.core.security.ShiroDbRealm 登录时查询用户名、密码及获取用户权限信息。

ShiroConfig会读取过滤器映射配置。

过滤器映射配置:/src/main/resources/conf/conf.properties

大致描述如下:

/my/** /cmscp/** 路径需要登录后才能访问,如未登录则会重定向至登录页面。前者为是前台会员中心路径,后者为后台管理路径。

/login /cmscp/login.do 是登录请求。前者为前台登录请求,后者为后台登录请求。

/logout /cmscp/logout.do 是退出登录请求。

/** 其他路径可以随便访问。

将用户密码直接使用明文保存在数据库中是极其不安全的。要对密码进行加密后,再保存到数据库,通常的加密方式有md5 sha1 sha256等,md5使用的最为广泛,但由于安全性较差,已经不建议使用。系统中使用sha1作为加密方式。

ShiroConfig中的配置如下:

这个加密对象会在com.jspxcms.core.security.ShiroDbRealm中注入:

本文:安全框架Shiro怎么配置的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:微信小程序中wx.chooseimage如何设置为同步下一篇:

12 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18