springBoot的shiro的简单项目部署

本文详细介绍了如何在SpringBoot 2.0框架下使用Apache Shiro进行安全控制。从创建项目、搭建开发环境、添加依赖到配置Shiro,再到前端页面的搭建和Java代码的实现,一步步展示了Shiro的认证和授权过程。通过配置YML文件,实现了动态读取数据,简化了权限管理。最后,通过Controller创建了登录和权限验证功能,确保了只有具备相应权限的用户才能访问特定页面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

springboot2.0框架下使用Shiro

介绍

Shiro是Apache旗下的开源项目,是一个简单易用的安全框架,提供包括认证、授权、加密、会话管理等诸多功能。Shiro使用了比较简单易懂易于使用的授权方式。Shiro属于轻量级框架,配置简单,应用广泛。在很多优秀的开源项目之中都有使用。

搭建springboot,网页部分

创建项目

搭建springboot开发环境

打开idea,点击文件(file)–>新建(new)–>新建文件(Project)

请添加图片描述

之后就会进入idea的新建项目之中,这里点击这个树叶加一个开关按钮的这个标志,之后点击下一步就可以了

请添加图片描述

之后这个就是,真正的配置界面,填好信息,就可以点击下一步,这里面比较重要的是这个javaVersion这里,默认是11版本。需要用户自己根据实际情况选择版本请添加图片描述

在依赖选择这里,只选Web里面的spring web选项就可以了。然后点击下一步。

请添加图片描述

这里一般只看上面就可以了,项目名和项目位置最后面的名字可以不一致,不影响程序的运行

请添加图片描述

点击完成,再等maven项目下载所需的依赖就可以了。依赖下载完成,项目结构如下。(target在项目运行时,会生成)

请添加图片描述

添加依赖项

打开pom.xml文件在标签内添加依依赖

org.apache.shiro.shiro-all是本文中需要使用的的依赖

com.alibaba.fastjson是一个json格式文件处理工具,可能会用到

<dependency>
    <groupId>org.apache.shiro</groupId>
    <artifactId>shiro-all</artifactId>
    <version>1.6.0</version>
</dependency>
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.74</version>
</dependency>

打开idea右侧的maven的,点击如图所示刷新按钮,下载依赖包

请添加图片描述

搭建网页前端内容

用几个前端网页,对接后端数据,方便调试。

第一个是首页面(需要登录才能进入)

第二个是用户的登录页面

第三个是提示用户没有授权的页面,他会自动跳转到首页面或者登录页面。

首先是第一个页面,简单的使用html网页写一个大大的首页,并对其简单的美化一下,非常清楚

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>首页</title>
</head>
<body style="margin: 0;padding: 0;border-style: none">
<h1 style="margin:0;padding: 0;text-align: center;background-color: #00ced1;color: #9400d3;font-size: 150px;text-shadow: 5px 5px 2px #6000a3;">
    首页主体
</h1>
</body>
</html>

然后是第二个页面,登录页面,使用form表单,action内容千万不要使用域名(ip)+端口之后是路径这种方式,则会导致每次提交表单,都会导致session不一致,直接写路径就好。还是死一样,简单的美化一下就好

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>系统登录</title>
    <style>
        input[type="text"], input[type="password"] {
     
            margin: 0 2px;
            height: 35px;
            width: 100%;
        }

        input[type="submit"], input[type="button"] {
     
            height: 35px;
            width: 80px;
        }

        td {
     
            font-size: 20px;
            text-align: right;
        }
        tr{
     

        }
        table {
     
            padding: 0 20px 0 0 ;
            width: 30%;
            border-style: solid;
            border-width: 1px;
        }

    </style>
</head>
<body>
<center>
    <form action="/user/login" method="get" style="margin-top: 10%;" target="_self">
        <table>
            <tr>
                <td>用户名</td>
                <td><input type="text" name="username"/></td>
            </tr>
            <tr>
                <td>密码</td>
                <td><input type="password" name="password"/></td>
            </tr>
            <tr>
                <td colspan="2"><input type="button" value="没用的按钮"style="margin-left:30%; 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值