9) :密码模块,Shiro 提高了一些常见的加密组件用于如密码加密/解密的
1.3 过滤器
当 Shiro 被运用到 web 项目时,Shiro 会自动创建一些默认的过滤器对客户端请求进行过滤 。以下是 Shiro 提供的过滤器
/admins/**=anon# 表示该 uri 可以匿名访问/admins/**=auth# 表示该 uri 需要认证才能访问/admins/**=authcBasic# 表示该 uri 需要 httpBasic 认证/admins/**=perms[user:add:*]# 表示该 uri 需要认证用户拥有 user:add:* 权限才能访问/admins/**=port[8081]# 表示该 uri 需要使用 8081 端口/admins/**=rest[user]# 相当于 /admins/**=perms[user:method],其中,method 表示get、post、delete 等/admins/**=roles[admin]# 表示该 uri 需要认证用户拥有 admin 角色才能访问/admins/**=ssl# 表示该 uri 需要使用 https 协议/admins/**=user# 表示该 uri 需要认证或通过记住我认证才能访问/logout=logout# 表示注销,可以当作固定配置
anon,,auchc,user 是认证过滤器 。
perms,roles,ssl,rest,port 是授权过滤器 。
-- 权限表 --CREATE TABLE permission (pid BIGINT(11) NOT NULL AUTO_INCREMENT,name VARCHAR(255) NOT NULL DEFAULT '',url VARCHAR(255) DEFAULT '',PRIMARY KEY (pid)) ENGINE = InnoDB DEFAULT CHARSET = utf8;INSERT INTO permission VALUES ('1', 'add', '');INSERT INTO permission VALUES ('2', 'delete', '');INSERT INTO permission VALUES ('3', 'edit', '');INSERT INTO permission VALUES ('4', 'query', '');-- 用户表 --CREATE TABLE user(uid BIGINT(11) NOT NULL AUTO_INCREMENT,username VARCHAR(255) NOT NULL DEFAULT '',password VARCHAR(255) NOT NULL DEFAULT '',PRIMARY KEY (uid)) ENGINE = InnoDB DEFAULT CHARSET = utf8;INSERT INTO user VALUES ('1', 'admin', '123');INSERT INTO user VALUES ('2', 'demo', '123');-- 角色表 --CREATE TABLE role(rid BIGINT(11) NOT NULL AUTO_INCREMENT,rname VARCHAR(255) NOT NULL DEFAULT '',PRIMARY KEY (rid)) ENGINE = InnoDB DEFAULT CHARSET = utf8;INSERT INTO role VALUES ('1', 'admin');INSERT INTO role VALUES ('2', 'customer');-- 权限角色关系表 --CREATE TABLE permission_role (rid BIGINT(11) NOT NULL ,pid BIGINT(11) NOT NULL ,KEY idx_rid (rid),KEY idx_pid (pid)) ENGINE = InnoDB DEFAULT CHARSET = utf8;INSERT INTO permission_role VALUES ('1', '1');INSERT INTO permission_role VALUES ('1', '2');INSERT INTO permission_role VALUES ('1', '3');INSERT INTO permission_role VALUES ('1', '4');INSERT INTO permission_role VALUES ('2', '1');INSERT INTO permission_role VALUES ('2', '4');-- 用户角色关系表 --CREATE TABLE user_role (uid BIGINT(11) NOT NULL ,rid BIGINT(11) NOT NULL ,KEY idx_uid (uid),KEY idx_rid (rid)) ENGINE = InnoDB DEFAULT CHARSET = utf8;INSERT INTO user_role VALUES (1, 1);INSERT INTO user_role VALUES (2, 2);
三、
1..java
package com.example.demo2.entity;import lombok.Getter;import lombok.Setter;import java.io.Serializable;/*** @author sssr* @version 1.0* @Description:权限* @date 2019/2/17*/@Getter@Setterpublic class Permission implements Serializable {private Long id;private String name;private String url;}
2.Role.java
package com.example.demo2.entity;import lombok.Getter;import lombok.Setter;import java.io.Serializable;import java.util.HashSet;import java.util.Set;/*** @author ssr* @version 1.0* @Description:角色* @date 2019/2/17*/@Getter@Setterpublic class Role implements Serializable {private Long id;private String name;private Set permissions = new HashSet<>();private Set
3.User.java
package com.example.demo2.entity;import lombok.Getter;import lombok.Setter;import java.io.Serializable;import java.util.HashSet;import java.util.Set;/*** @author sssr* @version 1.0* @Description:用户* @date 2019/2/16*/@Getter@Setterpublic class User implements Serializable {private Long id;private String username;private String password;private Set
- vs2019项目部署到阿里云服务器与iis配置
- centos7.4系统的虚拟机网络配置教程
- lv3 嵌入式开发-1linux介绍及环境配置
- 掘金领航者全自动付费进群系统代理端域名配置教程
- servlet配置
- SVN版本控制器的安装和配置以及一些技巧svn开机自启动
- 阿里云服务器配置个人用户怎么选?CPU内存带宽系统盘?
- 华为交换机——策略路由配置实战
- 【Linux下进程的CPU配置和线程绑定】
- 三 【Audio】配置文档audio_policy_conf.xml