Skip to content

Commit

Permalink
New: miniatuh role, user, endpoint disable change #110
Browse files Browse the repository at this point in the history
  • Loading branch information
shps951023 committed Mar 31, 2024
1 parent 6ab20f8 commit edb4b5a
Show file tree
Hide file tree
Showing 6 changed files with 36 additions and 24 deletions.
8 changes: 6 additions & 2 deletions src/Frontend/src/App.vue
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ emitter.on('closeLoading', () => {
</li>
</ul>
<div class="navbar-nav ms-auto">
<div @click="logout" class="btn nav-item nav-link">Logout</div>
<div @click="logout" class="btn nav-item nav-link">Logout</div>
</div>
</div>
</div>
Expand All @@ -65,7 +65,7 @@ emitter.on('closeLoading', () => {
<main class="container">
<div class="row" style="padding-bottom: 10px;padding-top: 10px;">
<div class="col-sm-8">
<h2><b>{{routeName}}</b> Management</h2>
<h2><b>{{ routeName }}</b> Management</h2>
</div>
<div class="col-sm-4">
</div>
Expand All @@ -87,6 +87,10 @@ emitter.on('closeLoading', () => {
</template>

<style>
.btn:disabled {
border-color: #ffffff !important;
}
#loading-mask {
width: 100vw;
height: 100%;
Expand Down
8 changes: 4 additions & 4 deletions src/Frontend/src/views/RolesView.vue
Original file line number Diff line number Diff line change
Expand Up @@ -38,15 +38,15 @@
{{ index+1 }}
</td>
<td>
<input type="text" v-model="item.Name">
<input :disabled="item.Type=='miniauth'" type="text" v-model="item.Name">
</td>
<td>
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" v-model="item.Enable">
<input :disabled="item.Type=='miniauth'" class="form-check-input" type="checkbox" v-model="item.Enable">
</div>
</td>
<td>
<button class="btn" @click="save(item)">
<button :disabled="item.Type=='miniauth'" class="btn" @click="save(item)">
<svg width="20px" height="20px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="System / Save">
<path id="Vector"
Expand All @@ -55,7 +55,7 @@
</g>
</svg>
</button>&nbsp;
<button class="btn" @click="deleteRole(item.Id)"><svg width="20px" height="20px" viewBox="0 0 24 24"
<button :disabled="item.Type=='miniauth'" class="btn" @click="deleteRole(item.Id)"><svg width="20px" height="20px" viewBox="0 0 24 24"
fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10 12V17" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
<path d="M14 12V17" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
Expand Down
4 changes: 2 additions & 2 deletions src/Frontend/src/views/UsersView.vue
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
</td>
<td>
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" v-model="item.Enable">
<input :disabled="item.Type=='miniauth'" class="form-check-input" type="checkbox" v-model="item.Enable">
</div>
</td>
<td>
Expand All @@ -88,7 +88,7 @@
</g>
</svg>
</button>
<button class="btn" @click="deleteUser(item.Id)"><svg width="20px" height="20px" viewBox="0 0 24 24"
<button :disabled="item.Type=='miniauth'" class="btn" @click="deleteUser(item.Id)"><svg width="20px" height="20px" viewBox="0 0 24 24"
fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10 12V17" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
<path d="M14 12V17" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
Expand Down
31 changes: 18 additions & 13 deletions src/MiniAuth/MiniAuthDB.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,20 +36,22 @@ public MiniAuthDB(string connectionString)
string sql = @"
create table users (
id text not null primary key,
username text not null unique,
username text not null unique,
password text not null,
roles text,
enable integer default 1,
first_name text,
last_name text,
mail text,
emp_no text
emp_no text ,
type text
);
create table roles (
id text primary key,
name text not null unique,
enable integer default (1) not null
enable integer default (1) not null,
type text
);
create table endpoints (
Expand All @@ -63,25 +65,28 @@ create table endpoints (
roles text
);
insert into roles (id,name) values ('13414618672271360','miniauth-ADMIN');
insert into roles (id,name) values ('13414618672271361','miniauth-HR');
insert into roles (id,name) values ('13414618672271362','miniauth-IT');
insert into roles (id,name) values ('13414618672271363','miniauth-RD');
insert into users (id,username,password,roles) values ('13414618672271350','miniauth','','13414618672271360');
insert into users (id,username,password,roles) values ('13414618672271351','miniauth-user','',null);
insert into users (id,username,password,roles) values ('13414618672271352','miniauth-hr','','13414618672271361');
insert into users (id,username,password,roles) values ('13414618672271353','miniauth-it','','13414618672271362,13414618672271363');
insert into roles (id,type,name) values ('13414618672271360','miniauth','miniauth-admin');
insert into users (id,type,username,password,roles) values ('13414618672271350','miniauth','miniauth','','13414618672271360');
";
using (var connection = _GetConnection())
{
connection.ExecuteNonQuery(sql);
new UserManager(this).UpdatePassword("13414618672271350", "miniauth");

#if DEBUG
connection.ExecuteNonQuery(@"
insert into roles (id,type,name) values ('13414618672271361',null,'HR');
insert into roles (id,type,name) values ('13414618672271362',null,'IT');
insert into roles (id,type,name) values ('13414618672271363',null,'RD');
insert into users (id,type,username,password,roles) values ('13414618672271351',null,'miniauth-user','',null);
insert into users (id,type,username,password,roles) values ('13414618672271352',null,'miniauth-hr','','13414618672271361');
insert into users (id,type,username,password,roles) values ('13414618672271353',null,'miniauth-it','','13414618672271362,13414618672271363');
");
new UserManager(this).UpdatePassword("13414618672271351", "miniauth-user");
new UserManager(this).UpdatePassword("13414618672271352", "miniauth-hr");
new UserManager(this).UpdatePassword("13414618672271353", "miniauth-it");
#endif
}
}
}
Expand Down
8 changes: 5 additions & 3 deletions src/MiniAuth/MiniAuthMiddleware.cs
Original file line number Diff line number Diff line change
Expand Up @@ -356,7 +356,7 @@ private async Task GetUsers(HttpContext context)
using (var command = cn.CreateCommand())
{
command.CommandText = @"select id,username,first_name,
last_name,emp_no,mail,Enable,roles
last_name,emp_no,mail,Enable,roles ,type
from users u
order by id
LIMIT @pageSize OFFSET @offset;
Expand All @@ -379,7 +379,8 @@ order by id
Emp_no = reader.IsDBNull(4) ? null : reader.IsDBNull(4) ? null : reader.GetString(4),
Mail = reader.IsDBNull(5) ? null : reader.IsDBNull(5) ? null : reader.GetString(5),
Enable = reader.GetInt32(6) == 1,
Roles = reader.IsDBNull(7) ? null : reader.GetString(7)?.Split(',')
Roles = reader.IsDBNull(7) ? null : reader.GetString(7)?.Split(','),
Type = reader.IsDBNull(8) ? null : reader.GetString(8)
};
users.Add(e);
}
Expand All @@ -398,7 +399,7 @@ private async Task GetRoles(HttpContext context)
{
using (var command = cn.CreateCommand())
{
command.CommandText = @"select * from roles r";
command.CommandText = @"select id,name,enable,type from roles r";
using (var reader = await command.ExecuteReaderAsync())
{
while (reader.Read())
Expand All @@ -408,6 +409,7 @@ private async Task GetRoles(HttpContext context)
Id = reader.GetString(0),
Name = reader.GetString(1),
Enable = reader.GetInt32(2) == 1,
Type = reader.IsDBNull(3)?null: reader.GetString(3)
};
roles.Add(endpoint);
}
Expand Down
1 change: 1 addition & 0 deletions src/MiniAuth/Models/MiniAuthUser.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,6 @@ public class MiniAuthUser
public string Mail { get; set; }
public bool Enable { get; set; }
public string[] Roles { get; set; }
public string Type { get; set; }
}
}

0 comments on commit edb4b5a

Please sign in to comment.