【软通鲲鹏云最佳实践53】Shiro-1.4.0 鲲鹏云服务器安装实践

网友投稿 712 2022-05-29

一、 软件介绍

Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。

三个核心组件:Subject, SecurityManager 和 Realms.

Subject:即“当前操作用户”。但是,在Shiro中,Subject这一概念并不仅仅指人,也可以是第三方进程、后台帐户(Daemon Account)或其他类似事物。它仅仅意味着“当前跟软件交互的东西”。

Subject代表了当前用户的安全操作,SecurityManager则管理所有用户的安全操作。

SecurityManager:它是Shiro框架的核心,典型的Facade模式,Shiro通过SecurityManager来管理内部组件实例,并通过它来提供安全管理的各种服务。

Realm: Realm充当了Shiro与应用安全数据间的“桥梁”或者“连接器”。也就是说,当对用户执行认证(登录)和授权(访问控制)验证时,Shiro会从应用配置的Realm中查找用户及其权限信息。

从这个意义上讲,Realm实质上是一个安全相关的DAO:它封装了数据源的连接细节,并在需要时将相关数据提供给Shiro。当配置Shiro时,你必须至少指定一个Realm,用于认证和(或)授权。配置多个Realm是可以的,但是至少需要一个。

Shiro内置了可以连接大量安全数据源(又名目录)的Realm,如LDAP、关系数据库(JDBC)、类似INI的文本配置资源以及属性文件等。如果缺省的Realm不能满足需求,你还可以插入代表自定义数据源的自己的Realm实现。

二、 支持的操作系统

经过华为云严格实测,以下操作系统在鲲鹏生态中可以完整运行Varnish的全部功能:

CentOS7.6

1、进入shiro官网: http://shiro.apache.org/

2、点击下图中的Download

四、 编译与测试环境

本文选用华为鲲鹏云服务器ECS KC1实例做测试,KC1实例的处理器为兼容ARMv8指令集的鲲鹏920。详细规格如下:

类别

子项

版本

云主机配置

ECS实例类型

kc1.large.4

ECS配置

4U16GB

EVS

高IO(80GB)

云OS

Kernel

4.18.0

五、 编译安装与测试

【软通鲲鹏云最佳实践53】Shiro-1.4.0 鲲鹏云服务器安装实践

1 依赖安装

Java环境。

2 编译安装

1) 下载shiro-x.x.x.jar 到本地,并且将shiro类库引入到项目中:

设置用户登录后的权限,例子: public void onLoginSuccess(PrincipalCollection principals) {    super.onLoginSuccess(principals);    User user = UserUtils.getUser();    this.getUserService().updateUserLoginInfo(user);    LogUtils.saveLog(user, ServletUtils.getRequest(), "系统登录", "loginLogout");}

3 验证测试

说明:测试程序已打包到Tomcat下webapps的ROOT目录下,所以启动Tomcat后就可以访问项目了。

1) 切换到Tomcat所在的目录:

cd /opt/apache-tomcat-8.0.35/bin

2) 给执行的shell文件添加权限,否则执行时无法启动:

chmod -R 755 startup.sh chmod -R 755 catalina.sh

3) 启动Tomcat

./startup.sh

4) 到Tomcat下的logs目录,查询执行日志catalina.out,执行结果如下,项目启动成功:

...... 10-15 14:05:12.305 DEBUG [com.jeesite.common.beetl.BeetlUtils] - Loading beetl config: [classpath:/config/beetl-core.properties, classpath:/config/beetl.properties] 10-15 14:05:13.765 INFO  [com.jeesite.modules.config.Application] - Started Application in 11.52 seconds (JVM running for 17.428) 15-Oct-2019 14:05:13.994 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /opt/apache-tomcat-8.0.35/webapps/ROOT has finished in 16,019 ms 15-Oct-2019 14:05:13.998 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"] 15-Oct-2019 14:05:14.003 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"] 15-Oct-2019 14:05:14.004 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 16061 ms

5) 访问地址http://localhost:8080/ds  或者用命令curl http://localhost:8080/ds/login 就可以看见返回的页面的html代码了。通过不同的用户登录后,所展示的用户权限是不一样的,主页所显示内容就是有区别的。

4 问题总结

六、 声明

本文档中的软件包均来自软件官网,安装文档部分参考官网的安装方法,本软件测试环境为华为鲲鹏云ARM服务器,具体配置信息参照《编译与测试环境》部分。

本文档中的软件安装测试基于华为鲲鹏云ARM服务器环境测试,如在使用本文档的安装方法进行安装过程中,可能由于系统版本、软件依赖或其他原因造成软件安装不成功,请自行解决或联系我们,请事先备份相关重要数据、资料。

使用文档风险由用户自行承担,在适用法律允许的最大范围内,对因使用或不能使用本文档所产生的损害及风险,包括但不限于直接或间接的个人损害、商业赢利的丧失、贸易中断、商业信息的丢失或任何其它经济损失,我司不承担任何责任。

我司不担保所提供的软件功能及服务一定能满足用户的要求,也不担保服务不会中断,对服务的及时性、安全性、真实性、准确性都不作担保。

鲲鹏

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【软通鲲鹏云最佳实践25】Openjdk-13 鲲鹏云服务器安装实践
下一篇:uniCloud基础练习---使用云函数每天定时向女朋友发送邮件推送天气
相关文章