在 jsp 页面中引入 Shiro 的标签配置
Shiro JSP标签也不多:
1、guest标签 :验证当前用户是否为“访客”,即未认证(包含未记住)的用户,游客时才显示,登录用户不显示。
游客你好: 请登录
2、user标签 :已认证通过或已记住的用户,登录后显示响应的内容。
欢迎[]登录 退出
3、authenticated标签 :已认证通过的用户,即 Subject.login 登录成功。不包含已记住的用户,这是与user标签的区别所在。
用户[] 已身份验证通过
4、notAuthenticated标签 :未认证通过用户,即没有调用Subject.login进行登录,包括"记住我"也属于未进行身份验证。与authenticated标签相对应。与guest标签的区别是,该标签包含已记住用户。
请登录
5、principal 标签 :显示当前用户信息,通常为登录帐号信息。默认调用Subjec.getPrincipal()获取,即Primary Principal 。
你好,
6、hasRole标签 :验证当前用户是否属于该角色,如果当前Subject有角色将显示body体内的内容。
用户[]拥有角色admin
7、lacksRole标签 :与hasRole标签逻辑相反,当用户不属于该角色时验证通过,如果当前 Subjec没有角色将显示body体内的内容。
用户[]没有角色admin
8、hasAnyRole标签 :验证当前用户是否属于以下任意一个角色,如果Subject有任意一个角色(或的关系)将显示body体里的内容。
用户[]拥有角色admin 或者 user
9、hasPermission标签 :验证当前用户是否拥有指定权限,如果当前Subject有权限将显示body体内容。
用户[] 拥有权限user:create
10、lacksPermission标签 :与hasPermission标签逻辑相反,当前用户没有制定权限时验证通过,如果当前Subject没有权限将显示body体内容。
用户[] 没有权限org:create
二、简单使用:
1、登录页面:
ssm_
登录页面
用户名:
密 码:
提交
游客你好: 请登录
function checkForm(){
var uuidSalt = $("#uuidSalt").val();
var pazzword = $("#pazzword").val();
pazzword = hex_md5(pazzword);
//加密后的密码进行第二次加密(可解密)
pazzword = encrypt(pazzword,uuidSalt,uuidSalt);
$("#pazzword").val(pazzword);
//alert(pazzword.length);
if(pazzword.length == 44){
$("#loginForm").submit();
}
}
function encrypt(data,key,iv) { //key,iv:16位的字符串
var key1 = CryptoJS.enc.Latin1.parse(key);
var iv1 = CryptoJS.enc.Latin1.parse(iv);
return CryptoJS.AES.encrypt(data, key1, {iv:iv1,mode:CryptoJS.mode.CBC,padding:CryptoJS.pad.ZeroPadding}).toString();
}
2、登录成功后页面
ssm_
admin页面
注销
用户列表
添加用户
游客你好: 请登录
欢迎[]登录 退出
用户[] 已身份验证通过
你好,
用户[]拥有角色admin
用户[]拥有角色admin 或者 user
用户[] 拥有权限/admin/userlist
用户[] 没有权限/admin/addUser
end ~