我有一个spring boot应用程序,在其中已实现了基于角色的身份验证。
最终用户通过身份验证后,应根据角色从数据库中加载菜单。
成功通过身份验证后,我将从百里香叶页面中提取角色,然后执行以加载菜单。
即使我在打印诸如alert("#hide").text()
之类的角色值时,它也可以警告角色名称。
要加载菜单,我应该知道哪个用户已登录,以便可以加载正确的菜单。
这就是为什么我要提取值并像“ admin”,“ user”等进行比较。
但是比较不会发生
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org"
xmlns:sec="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta http-equiv="X-UA-Compatible" content="ie=edge"/>
<title>BSNL | CC</title>
<link rel="stylesheet" type="text/css" media="screen, projection"
href="/static/css/bootstrap.css"
th:href="@{/css/bootstrap.css}" />
<link rel="stylesheet" type="text/css" media="screen, projection"
href="/static/css/bootstrap.css"
th:href="@{/css/menu.css}" />
</head>
<body>
<div id="includedContent"></div>
Logged in user: <b th:inline="text" class="user" id="hide"> [[${#httpServletRequest.remoteUser}]] </b>
<input type="hidden" class="order-entry" id="ID" placeholder="" th:value="${#httpServletRequest.remoteUser}" value="${#httpServletRequest.remoteUser}"/>
<script th:src="@{/js/jquery-3.4.1.js}"></script>
<script th:src="@{/js/bootstrap.js}"></script>
<script th:src="@{/js/custom.js}"></script>
<script th:src="@{/js/home.js}"></script>
</body>
</html>
注意: ${#httpServletRequest.remoteUser}
基于Spring的代码,以查看谁以管理员,用户或超级管理员身份登录。
$(document).ready(function(){
$("#includedContent").load("http://localhost:8080/BSNLCC-BackendWIthSecurity/home/");
alert($("#hide").text()); //printing fine
if($("#hide").text() == "null"){ //comparing not happening tried with ==== also
alert(true);
}
/*
if($("#rle").text() == "admin"){
loadAdminMenu();
}else if($("#ID").text() == "superadmin"){
loadSuperAdminMenu();
}
function loadAdminMenu(){
alert($("#rle").text());
$.ajax({
url: 'home/load/menu',
type: 'GET',
contentType : 'application/json; charset=utf-8',
async: false,
data: {
role: $("#rle").text()
},
cache: false,
datatype: 'json',
success: function(data) {
alert("success");
},
error: function(err){
console.log(err);
}
});
}*/
});
答案 0 :(得分:0)
我忘了修剪提取值的一个愚蠢的事情。trim()发挥了神奇作用。