1. 程式人生 > >html介面實現shiro前端介面許可權

html介面實現shiro前端介面許可權

一.背景

由於專案所採用的框架是spring boot,對於jsp不支援,不能採用引入外部taglib的方式對前端介面進行許可權控制,只能採用html作為前端介面。前端介面的div根據登陸使用者的角色決定是否顯示。

二.實現

首先設定前端的div為隱藏模式

<div id="toolbar" style="display: none;"></div>

設定一個隨頁面載入執行的函式,函式名稱為 judgeAuthority

$(function () {
    judgeAuthority();})
函式體為:
function judgeAuthority() {
    $
.ajax({ type: "post", url: "../meta/queryAuth", contentType: 'application/json;charset=utf-8', success: function (data) { for(var i=0;i<data.length;i++){ if(data[i]=="admin"){ document.getElementById("toolbar").style.display="";//} } } }) }

函式通過ajax向後端傳送請求,後端返回一個當前使用者的角色列表給前端,前端通過判斷使用者是否具有某個角色決定是否給使用者顯示某個div

三.後端

@RequestMapping(value = "queryAuth")
@ResponseBody
public List<String> queryAuth(HttpServletRequest request) {
    logger.info("查詢登入使用者許可權");
Subject subject= SecurityUtils.getSubject();
List<String> roleList=new 
ArrayList<String>(); if(subject.hasRole("superadmin")){ roleList.add("superadmin"); } if(subject.hasRole("admin")){ roleList.add("admin"); } if(subject.hasRole("user")){ roleList.add("user"); } return roleList; }

參考部落格:http://blog.csdn.net/u014688419/article/details/52733278