Changed data column type from text to blob to handle null-byte (\0) in serialized RBAC rule properly

Closes #12681
This commit is contained in:
SilverFire - Dmitry Naumenko
2016-10-17 10:43:08 +03:00
parent a246b1beea
commit 23790272dc
7 changed files with 15 additions and 14 deletions

View File

@ -53,7 +53,7 @@ class m140506_102106_rbac_init extends \yii\db\Migration
$this->createTable($authManager->ruleTable, [
'name' => $this->string(64)->notNull(),
'data' => $this->text(),
'data' => $this->binary(),
'created_at' => $this->integer(),
'updated_at' => $this->integer(),
'PRIMARY KEY (name)',
@ -64,7 +64,7 @@ class m140506_102106_rbac_init extends \yii\db\Migration
'type' => $this->smallInteger()->notNull(),
'description' => $this->text(),
'rule_name' => $this->string(64),
'data' => $this->text(),
'data' => $this->binary(),
'created_at' => $this->integer(),
'updated_at' => $this->integer(),
'PRIMARY KEY (name)',

View File

@ -17,7 +17,7 @@ drop table [auth_rule];
create table [auth_rule]
(
[name] varchar(64) not null,
[data] text,
[data] blob,
[created_at] integer,
[updated_at] integer,
primary key ([name])
@ -29,7 +29,7 @@ create table [auth_item]
[type] smallint not null,
[description] text,
[rule_name] varchar(64),
[data] text,
[data] blob,
[created_at] integer,
[updated_at] integer,
primary key ([name]),
@ -89,4 +89,4 @@ CREATE TRIGGER dbo.trigger_auth_item_child
DELETE FROM dbo.[auth_item_child] WHERE parent IN (SELECT name FROM deleted) OR child IN (SELECT name FROM deleted);
DELETE FROM dbo.[auth_item] WHERE name IN (SELECT name FROM deleted);
END
END;
END;

View File

@ -17,7 +17,7 @@ drop table if exists `auth_rule`;
create table `auth_rule`
(
`name` varchar(64) not null,
`data` text,
`data` blob,
`created_at` integer,
`updated_at` integer,
primary key (`name`)
@ -29,7 +29,7 @@ create table `auth_item`
`type` smallint not null,
`description` text,
`rule_name` varchar(64),
`data` text,
`data` blob,
`created_at` integer,
`updated_at` integer,
primary key (`name`),

View File

@ -18,7 +18,7 @@ drop table "auth_rule";
create table "auth_rule"
(
"name" varchar(64) not null,
"data" varchar(1000),
"data" BYTEA,
"created_at" integer,
"updated_at" integer,
primary key ("name")
@ -31,8 +31,7 @@ create table "auth_item"
"type" smallint not null,
"description" varchar(1000),
"rule_name" varchar(64),
"data" varchar(1000),
"created_at" integer,
"data" BYTEA,
"updated_at" integer,
foreign key ("rule_name") references "auth_rule"("name") on delete set null,
primary key ("name")

View File

@ -17,7 +17,7 @@ drop table if exists "auth_rule";
create table "auth_rule"
(
"name" varchar(64) not null,
"data" text,
"data" bytea,
"created_at" integer,
"updated_at" integer,
primary key ("name")
@ -29,7 +29,7 @@ create table "auth_item"
"type" smallint not null,
"description" text,
"rule_name" varchar(64),
"data" text,
"data" bytea,
"created_at" integer,
"updated_at" integer,
primary key ("name"),

View File

@ -17,7 +17,7 @@ drop table if exists "auth_rule";
create table "auth_rule"
(
"name" varchar(64) not null,
"data" text,
"data" blob,
"created_at" integer,
"updated_at" integer,
primary key ("name")
@ -29,7 +29,7 @@ create table "auth_item"
"type" smallint not null,
"description" text,
"rule_name" varchar(64),
"data" text,
"data" blob,
"created_at" integer,
"updated_at" integer,
primary key ("name"),