Servlet整合Shiro(四)下

简介: Servlet整合Shiro(四)

三.五 编写前端静态页面


结构目录如下所示:


20200513113157199.png


三.五.一 编写 index.jsp


<body>
谢谢您访问我,我是两个蝴蝶飞
<jsp:forward page="User/toLogin"></jsp:forward>
</body>


三.五.二 编写登录页面 login.jsp


<body>
  <div class="col-sm-6 col-sm-offset-3">
    <div style="margin-top:40px;">
      <div class="row col-md-offset-3 ">
        <h3>两个蝴蝶飞登录页面</h3>
      </div>
      <div class="row" style="margin-top:30px;">
        <form class="form-horizontal" role="form">
          <div class="form-group">
                <label for="code" class="col-md-3 control-label">用户名:</label>
                <div class="col-md-4">
                  <input type="text" class="form-control" id="code"
                     name="code" value=""/>
                </div>
          </div>
          <div class="form-group">
                <label for="password" class="col-md-3 control-label">密码:</label>
                <div class="col-md-4">
                  <input type="password" class="form-control" id="password"
                     name="password"/>
                </div>
          </div>
          <div class="form-group">
            <div class="col-sm-offset-4">
              <input type="button" value="登录" id="submit" class="btn btn-success"/>
            </div>
          </div>
        </form>
      </div>
    </div>
  </div>
</body>


ajax 方法,进行提交跳转


<script>
  $(function(){
    $("#submit").click(function(){
      var code=$("#code").val();
      var password=$("#password").val();
      var info=new Object();
      //传入进去,员工的id编号
      info.code=code;
      info.password=password;
      $.post("${pageContext.request.contextPath}/User/login",info,function(data){
        if(data.status){
          alert("登录成功");
          window.location.href="${pageContext.request.contextPath}/Main/toMain";
        }else{
          if(data.error_code=="001"){
            alert("用户名或者密码错误");
          }
        }
      })
    })
  })
</script>


三.五.三 主页 main.jsp


<%@ taglib uri="http://shiro.apache.org/tags" prefix="shiro"%>
<body>
  进入到主页
      <shiro:user>  
      欢迎[<shiro:principal/>]登录,<a href="${pageContext.request.contextPath}/User/logout">退出</a>  
    </shiro:user>   
</body>


三.五.四 权限不足页面 noPrivilege.jsp


<body>
  抱歉,您没有权限访问!!!
</body>


三.五.五 员工按钮显示页面 user.jsp


<%@ taglib uri="http://shiro.apache.org/tags" prefix="shiro"%>
<body>
<br/>
是否有查询权限: 
<shiro:hasPermission name="user:select">
  有查询权限
</shiro:hasPermission>
<br/>
是否有添加权限: 
<shiro:hasPermission name="user:add">
  有添加权限
</shiro:hasPermission>
<br/>
是否有修改权限: 
<shiro:hasPermission name="user:update">
  有修改权限
</shiro:hasPermission>
<br/>
是否有删除权限: 
<shiro:hasPermission name="user:delete">
  有删除权限
</shiro:hasPermission>
<br/>
</body>


shiro:user, shiro:hasPermission 是shiro 提供的标签库, 通过判断是否有权限,来显示页面元素的显示和隐藏。


注意, 不要忘记引用 shiro 标签库


<%@ taglib uri="http://shiro.apache.org/tags" prefix="shiro"%>


20200513113212825.png


关于 shiro 标签库的使用,可以看 第九章 JSP标签——《跟我学Shiro》


记住常用的 shiro:user, shiro:hasPermission 即可。


三.六 验证


三.六.一 用户 yuejl 验证


输入网址: http://localhost:8080/Shiro_Web/


填写账号 yuejl, 密码是 123456, 错误的密码


20200513113226473.png


填写账号 yuejl, 密码是 1234, 正确的密码


2020051311323833.png


20200513113245676.png


员工yuejl 正常登录, 输入网址,跳转到员工的界面


http://localhost:8080/Shiro_Web/User/toList


员工yuejl 没有修改的权限,故修改那一块的元素不显示


2020051311325461.png


手动输入网址,看是否可以访问:


输入添加的网址: http://localhost:8080/Shiro_Web/User/add


20200513113300943.png


员工具有添加的权限,故可以执行添加的操作。


输入修改的网址,http://localhost:8080/Shiro_Web/User/update


20200513113309313.png


员工不具有修改的权限,故不可以执行修改的操作,会显示权限不足。


点击退出,退出之后, 输入刚才的 添加的那个网址,会跳转到登录的页面


2020051311335115.png


三.六.二 用户 yuezl 验证


前面的测试,与yuejl 一样。


yuezl 具有修改的权限:


http://localhost:8080/Shiro_Web/User/toList


20200513113359315.png


当手动输入修改的网址时: http://localhost:8080/Shiro_Web/User/update


20200513113407966.png


Servlet 整合 Shiro, 控制权限成功。


本章节代码链接为:


链接:https://pan.baidu.com/s/1dMQkpcxU04WKLnIdbsm-Aw 
提取码:kmji 


谢谢您的观看,如果喜欢,请关注我,再次感谢 !!!

相关文章
|
前端开发 JavaScript Java
Servlet整合Shiro实现RBAC(七)下
Servlet整合Shiro实现RBAC(七)
146 0
Servlet整合Shiro实现RBAC(七)下
|
JSON 前端开发 数据库
Servlet整合Shiro实现RBAC(七)上
Servlet整合Shiro实现RBAC(七)
140 0
Servlet整合Shiro实现RBAC(七)上
|
JSON 数据格式
Servlet整合Shiro(四)中
Servlet整合Shiro(四)
127 0
Servlet整合Shiro(四)中
|
JSON Java 应用服务中间件
Servlet整合Shiro(四)上
Servlet整合Shiro(四)
370 0
Servlet整合Shiro(四)上
|
1月前
|
Java
学院管理系统【JSP+Servlet+JavaBean】(Java课设)
学院管理系统【JSP+Servlet+JavaBean】(Java课设)
44 3
学院管理系统【JSP+Servlet+JavaBean】(Java课设)
|
1月前
|
Java
人事管理系统【JSP+Servlet+JavaBean】(Java课设)
人事管理系统【JSP+Servlet+JavaBean】(Java课设)
27 0
|
1月前
|
Java
排课系统【JSP+Servlet+JavaBean】(Java课设)
排课系统【JSP+Servlet+JavaBean】(Java课设)
37 5
|
1月前
|
Java
仓库管理系统【JSP+Servlet+JavaBean】(Java课设)
仓库管理系统【JSP+Servlet+JavaBean】(Java课设)
32 1
|
1月前
|
Java
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
30 2
|
3天前
|
Java 关系型数据库 MySQL
servlet+jsp+jdbc 实现增删改查 的同学录
servlet+jsp+jdbc 实现增删改查 的同学录