18 changed files with 268 additions and 434 deletions
@ -1,34 +0,0 @@ |
|||||
@page |
|
||||
@using AuthServer.Host.Pages |
|
||||
@using Volo.Abp.Users |
|
||||
@model IndexModel |
|
||||
@inject ICurrentUser CurrentUser |
|
||||
@if (CurrentUser.IsAuthenticated) |
|
||||
{ |
|
||||
<div> |
|
||||
<abp-row> |
|
||||
<abp-column size-md="_3" class="text-center"> |
|
||||
<i class="fa fa-user d-block" style="font-size: 10em; color: #12b900"></i> |
|
||||
<a abp-button="Primary" asp-controller="Logout" asp-action="Index" asp-area="Account">Logout</a> |
|
||||
</abp-column> |
|
||||
<abp-column size-md="_9"> |
|
||||
<h2>@CurrentUser.UserName</h2> |
|
||||
<h5 class="text-muted">@CurrentUser.Email</h5> |
|
||||
<div> |
|
||||
<strong>Roles</strong>: @CurrentUser.Roles.JoinAsString(", ") |
|
||||
<br /> |
|
||||
<strong>Claims</strong>: <br /> |
|
||||
@Html.Raw(CurrentUser.GetAllClaims().Select(c => $"{c.Type}={c.Value}").JoinAsString(" <br /> ")) |
|
||||
</div> |
|
||||
</abp-column> |
|
||||
</abp-row> |
|
||||
</div> |
|
||||
} |
|
||||
|
|
||||
@if (!CurrentUser.IsAuthenticated) |
|
||||
{ |
|
||||
<div class="text-center"> |
|
||||
<i class="fa fa-user d-block" style="font-size: 10em; color: #aaa"></i><br/><br /> |
|
||||
<a abp-button="Primary" asp-page="/Account/Login">Login</a> |
|
||||
</div> |
|
||||
} |
|
||||
@ -1,11 +0,0 @@ |
|||||
using Volo.Abp.AspNetCore.Mvc.UI.RazorPages; |
|
||||
|
|
||||
namespace AuthServer.Host.Pages |
|
||||
{ |
|
||||
public class IndexModel : AbpPageModel |
|
||||
{ |
|
||||
public void OnGet() |
|
||||
{ |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
@ -1,4 +0,0 @@ |
|||||
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers |
|
||||
@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI |
|
||||
@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bootstrap |
|
||||
@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bundling |
|
||||
@ -0,0 +1 @@ |
|||||
|
{"KeyId":"UADq2_DSLpd3I00K3XOjqg","Parameters":{"D":"Byaqj2nCKV84tk4UcqS+s/X8aHpltuzywIOgB5ZIHEPPpYOyY053IA7Xs3CQFTo0/kRlcEmhOu4X4ctYbcDCNeUia2BEKQ3P7FQe/A8c+qkjAl7agTVoFlfwjtK/7z6rIi2WGLYMGL7oR7AjPUNDB7lTmmN5RDpPM+uCyetFp3S8cjimWiPi8miye6tpnNqYyNSah7rubTBNlgbjnZW0syfzm0zwY4ICh1vUHqYVk9yDfrSoco/j190z0Na6s0q4Kwbrz3zpAdGXWDnm1dAeJFIXwbTrv2eoAvFHSuh0/R3bldJOrorU/cE71+6TDwz6XCTCOa3+BEdu/ynDmSoV4Q==","DP":"hrKts8OotUvhGQfRyOFkyhJflqqqgy78YXZ5tOoyQsodZU4/cOfgLw7Ob9Buz305qHZEvb1SQhUCCgY52GDW7m9wTaldLNQ+g/9I4qVj5QtUxtH4xv4Ss3lmM2ZoAWD1vQJtTcUxFIcTlceuLp3FnuVWX05h3Pr7LuQOuC5rZ0c=","DQ":"C5df7OfbZyR5oRrLnjL6XpypKn3QnaQD3Sv5a7fJx9Y8wFFCC7w70raZtp9/7o9wWXMI38/6mGJ14XObZJDO7yjVOMg3X1SOAUkNd/Xxs67ibDCgcpWkW6mvDJwih2JH0emLUWHaIpmMjBWQbLQFCpkYE8SjCh69VcB1JKz8HTU=","Exponent":"AQAB","InverseQ":"XI07h975yuQgPyElSCIMCbNq+ZHX/7ue+YH+57OGRn83f+QWeJRaEOEtt0E0Y8D49yecdrZMntORCCD3/+HRpdUwX6ZXtSSuhnPiG4gV1/kqs1mNyg5HxDqwwUQje1HGnR8MvbTSkN6uIXwDSgHkrLjU3prlSSNQAVZxToDTNjk=","Modulus":"03z2iUdYKNL0n76zYEDZRAHkGNCoWuDFe6dXPqZRn2nPK9K0GfnPxYqZrccbeGiwkxs6w9H3SO7D6jE9H48+sHG2H7uOejh9Az1hD33PORT8tVsiM76ISfApcg6kvF93UWljnZcysN3sbgbOt71+CNIsykpbdcjx7sEBjS08YyvczNKmsSZZjEb6gnmQFwvN3Ih9PUIQYd+QqWbNWEuFYTvLIpIX7I3lAe9qBKWgg4wER+aLgiJ5YHxD0p3QXGJGsFmjp9zh2SKa6b/Y5jRwkAop5PAYZHW8lIkIaH9DYBk0D4b2wPifQQTL5QPTpdUrBXVNrSL5HftcB4TkDL/qVQ==","P":"12DITugP/tRWZhNxOTahc+ZNZJqhZIY72dFpu5T9if4dahvse4oPPuvENK7mr1jeCgfKNePOWp+IeQWaC8WCXaP9gi5MucLsdUiwWIfmu1vxzD0h1whGHQtCYUb0rMRj2LOyLXK5M3+PdFzJ4Zt0i80kNh55h0W5S7oBloOfhjM=","Q":"+2Bch4Vc7dx8fb+uFTp/4Wvnh/YZB1a0B3DjAJxWCSaCVY9dGRk08Mmmpcy2ItkcB73IVMjNX3mrR8rfUNUX4tbcuiZNjtGFfiQmtu2scTmc+lQWotMDVGB2c9EqfBZL6xthqrWU9lDpmtz46CYZS+nc1TI3zgBK7ViD6HX8dVc="}} |
||||
@ -0,0 +1,57 @@ |
|||||
|
import { RouteConfig } from 'vue-router' |
||||
|
import Layout from '@/layout/index.vue' |
||||
|
|
||||
|
const adminRouter: RouteConfig = { |
||||
|
path: '/admin', |
||||
|
component: Layout, |
||||
|
meta: { |
||||
|
title: 'admin', |
||||
|
icon: 'manager', |
||||
|
roles: ['AbpIdentity.Users', 'AbpIdentity.Roles', 'AbpSettingManagement.Settings', 'AbpTenantManagement.Tenants'], // you can set roles in root nav
|
||||
|
alwaysShow: true // will always show the root menu
|
||||
|
}, |
||||
|
children: [ |
||||
|
{ |
||||
|
path: 'settings', |
||||
|
component: () => import('@/views/admin/settings/index.vue'), |
||||
|
name: 'settings', |
||||
|
meta: { |
||||
|
title: 'settings', |
||||
|
icon: 'setting', |
||||
|
roles: ['AbpSettingManagement.Settings'] |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
path: 'users', |
||||
|
component: () => import('@/views/admin/users/index.vue'), |
||||
|
name: 'users', |
||||
|
meta: { |
||||
|
title: 'users', |
||||
|
icon: 'user', |
||||
|
roles: ['AbpIdentity.Users'] |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
path: 'roles', |
||||
|
component: () => import('@/views/admin/roles/index.vue'), |
||||
|
name: 'roles', |
||||
|
meta: { |
||||
|
title: 'roles', |
||||
|
icon: 'role', |
||||
|
roles: ['AbpIdentity.Roles'] |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
path: 'tenants', |
||||
|
component: () => import('@/views/admin/tenants/index.vue'), |
||||
|
name: 'tenants', |
||||
|
meta: { |
||||
|
title: 'tenants', |
||||
|
icon: 'tenants', |
||||
|
roles: ['AbpTenantManagement.Tenants'] |
||||
|
} |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
|
||||
|
export default adminRouter |
||||
@ -0,0 +1,57 @@ |
|||||
|
import { RouteConfig } from 'vue-router' |
||||
|
import Layout from '@/layout/index.vue' |
||||
|
|
||||
|
const apigatewayRouter: RouteConfig = { |
||||
|
path: '/apigateway', |
||||
|
component: Layout, |
||||
|
meta: { |
||||
|
title: 'apigateway', |
||||
|
icon: 'manager', |
||||
|
roles: ['ApiGateway.RouteGroup', 'ApiGateway.Global', 'ApiGateway.Route', 'ApiGateway.DynamicRoute', 'ApiGateway.AggregateRoute'], |
||||
|
alwaysShow: true |
||||
|
}, |
||||
|
children: [ |
||||
|
{ |
||||
|
path: 'group', |
||||
|
component: () => import('@/views/admin/apigateway/group.vue'), |
||||
|
name: 'group', |
||||
|
meta: { |
||||
|
title: 'group', |
||||
|
icon: 'group', |
||||
|
roles: ['ApiGateway.RouteGroup'] |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
path: 'global', |
||||
|
component: () => import('@/views/admin/apigateway/global.vue'), |
||||
|
name: 'global', |
||||
|
meta: { |
||||
|
title: 'global', |
||||
|
icon: 'global', |
||||
|
roles: ['ApiGateway.Global'] |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
path: 'route', |
||||
|
component: () => import('@/views/admin/apigateway/route.vue'), |
||||
|
name: 'route', |
||||
|
meta: { |
||||
|
title: 'route', |
||||
|
icon: 'route', |
||||
|
roles: ['ApiGateway.Route'] |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
path: 'aggregateRoute', |
||||
|
component: () => import('@/views/admin/apigateway/aggregateRoute.vue'), |
||||
|
name: 'aggregateRoute', |
||||
|
meta: { |
||||
|
title: 'aggregateRoute', |
||||
|
icon: 'aggregateRoute', |
||||
|
roles: ['ApiGateway.AggregateRoute'] |
||||
|
} |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
|
||||
|
export default apigatewayRouter |
||||
@ -0,0 +1,47 @@ |
|||||
|
import { RouteConfig } from 'vue-router' |
||||
|
import Layout from '@/layout/index.vue' |
||||
|
|
||||
|
const identityServerRouter: RouteConfig = { |
||||
|
path: '/identityServer', |
||||
|
component: Layout, |
||||
|
meta: { |
||||
|
title: 'identityServer', |
||||
|
icon: 'manager', |
||||
|
roles: ['IdentityServer.Clients', 'IdentityServer.ApiResources', 'IdentityServer.IdentityResources'], |
||||
|
alwaysShow: true |
||||
|
}, |
||||
|
children: [ |
||||
|
{ |
||||
|
path: 'clients', |
||||
|
component: () => import('@/views/admin/identityServer/client/index.vue'), |
||||
|
name: 'clients', |
||||
|
meta: { |
||||
|
title: 'clients', |
||||
|
icon: 'clients', |
||||
|
roles: ['IdentityServer.Clients'] |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
path: 'apiresources', |
||||
|
component: () => import('@/views/admin/identityServer/api-resources/index.vue'), |
||||
|
name: 'apiresources', |
||||
|
meta: { |
||||
|
title: 'apiresources', |
||||
|
icon: 'apiresources', |
||||
|
roles: ['IdentityServer.ApiResources'] |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
path: 'identityresources', |
||||
|
component: () => import('@/views/admin/identityServer/identity-resources/index.vue'), |
||||
|
name: 'identityresources', |
||||
|
meta: { |
||||
|
title: 'identityresources', |
||||
|
icon: 'identityresources', |
||||
|
roles: ['IdentityServer.IdentityResources'] |
||||
|
} |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
|
||||
|
export default identityServerRouter |
||||
@ -0,0 +1,27 @@ |
|||||
|
import { RouteConfig } from 'vue-router' |
||||
|
import Layout from '@/layout/index.vue' |
||||
|
|
||||
|
const taskRouter: RouteConfig = { |
||||
|
path: '/task', |
||||
|
component: Layout, |
||||
|
redirect: '/task', |
||||
|
meta: { |
||||
|
title: 'tasks', |
||||
|
icon: 'lock', |
||||
|
roles: ['AbpIdentity.Roles', 'TaskManagement.Task'], // you can set roles in root nav
|
||||
|
alwaysShow: true // will always show the root menu
|
||||
|
}, |
||||
|
children: [ |
||||
|
{ |
||||
|
path: 'list', |
||||
|
component: () => import(/* webpackChunkName: "permission-page" */ '@/views/task/index.vue'), |
||||
|
name: 'tasks', |
||||
|
meta: { |
||||
|
title: 'tasks', |
||||
|
roles: ['AbpIdentity.Roles', 'TaskManagement.Task'] // or you can only set roles in sub nav
|
||||
|
} |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
|
||||
|
export default taskRouter |
||||
Loading…
Reference in new issue