diff --git a/.github/workflows/docfx.yml b/.github/workflows/docfx.yml
new file mode 100644
index 00000000..44e3666e
--- /dev/null
+++ b/.github/workflows/docfx.yml
@@ -0,0 +1,52 @@
+name: .NET Core Deploy Docfx
+
+on:
+ push:
+ branches: [master]
+ pull_request:
+ branches: [master]
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ - name: Setup .NET Core
+ uses: actions/setup-dotnet@v1
+ with:
+ dotnet-version: 5.0.202
+ - name: Install dependencies
+ run: dotnet restore lin-cms-dotnetcore.sln
+ - name: Build solution
+ run: dotnet build lin-cms-dotnetcore.sln --configuration Release --no-restore
+
+ generate-docs:
+ runs-on: windows-latest
+ needs: build
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ - name: Setup .NET Core
+ uses: actions/setup-dotnet@v1
+ with:
+ dotnet-version: 5.0.202
+ - name: Install dependencies
+ run: dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org --configfile $env:APPDATA\NuGet\NuGet.Config && dotnet restore lin-cms-dotnetcore.sln
+ - name: Setup DocFX
+ uses: crazy-max/ghaction-chocolatey@v1
+ with:
+ args: install docfx --version 2.56.7
+ - name: DocFX Build
+ working-directory: docs
+ run: docfx docfx.json
+ continue-on-error: false
+ - name: Publish
+ if: github.event_name == 'push'
+ uses: peaceiris/actions-gh-pages@v3
+ with:
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ publish_dir: docs/_site
+ force_orphan: true
diff --git a/.github/workflows/gitee-mirror.yml b/.github/workflows/gitee-mirror.yml
new file mode 100644
index 00000000..05af38f3
--- /dev/null
+++ b/.github/workflows/gitee-mirror.yml
@@ -0,0 +1,19 @@
+name: Publish
+
+on:
+ push:
+ branches:
+ - master
+ - gh-pages
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Sync to Gitee 💕
+ uses: wearerequired/git-mirror-action@master
+ env:
+ SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
+ with:
+ source-repo: "git@github.com:luoyunchong/lin-cms-dotnetcore.git"
+ destination-repo: "git@gitee.com:igeekfan/lin-cms-dotnetcore.git"
diff --git a/.gitignore b/.gitignore
index 9e8a1b6b..1cfab7d5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -338,6 +338,23 @@ ASALocalRun/
# BeatPulse healthcheck temp database
healthchecksdb
src/LinCms.Web/wwwroot/assets/
-src/LinCms.Web/appsettings.Private.json
-identityserver4/LinCms.IdentityServer4/appsettings.Private.json
-/src/LinCms.Web/wwwroot/_Illegal
+src/LinCms.Web/wwwroot/_Illegal
+identityserver4/LinCms.IdentityServer4/Logs/
+src/LinCms.Web/Logs/
+/src/LinCms.Web/appsettings.Staging.json
+/identityserver4/LinCms.IdentityServer4/appsettings.Staging.json
+/code-scaffolding/*
+###############
+# folder #
+###############
+/**/DROP/
+/**/TEMP/
+/**/packages/
+/**/bin/
+/**/obj/
+_site
+###############
+# temp file #
+###############
+docs/api/*.yml
+docs/api/.manifest
diff --git a/Directory.Build.props b/Directory.Build.props
new file mode 100644
index 00000000..429d27d6
--- /dev/null
+++ b/Directory.Build.props
@@ -0,0 +1,13 @@
+
-## 下个版本开发计划
+## 开发计划
- [功能模块的设计 ](https://github.com/luoyunchong/lin-cms-dotnetcore/issues/3)
- [0.3.0系统权限模块更新](https://github.com/luoyunchong/lin-cms-dotnetcore/issues/6 )
-## azure devops
+## 自动化构建CI/CD
+### azure devops
- [.Net Core DevOps -免费用Azure四步实现自动化发布(CI/CD)](https://www.cnblogs.com/zhaozhengyan/p/azure-devops-aliyun.html)
- [.Net Core DevOps - 替换 ConnectionStrings](https://www.cnblogs.com/zhaozhengyan/p/azure-replace-appsettings.html)
+### github action
+- [github gitee自动同步](https://luoyunchong.github.io/vovo-docs/dotnetcore/lin-cms/devops-ci-cd.html)
+
## 开源地址
- 后端接口Gitee 链接 [https://gitee.com/igeekfan/lin-cms-dotnetcore](https://gitee.com/igeekfan/lin-cms-dotnetcore)
- 后端接口GitHub 链接 [https://github.com/luoyunchong/lin-cms-dotnetcore](https://github.com/luoyunchong/lin-cms-dotnetcore)
- 管理端UI [https://github.com/luoyunchong/lin-cms-vue](https://github.com/luoyunchong/lin-cms-vue)
-- 用户端UI [https://github.com/luoyunchong/lin-cms-vvlog](https://github.com/luoyunchong/lin-cms-vvlog)
\ No newline at end of file
+- 用户端UI [https://github.com/luoyunchong/lin-cms-vvlog](https://github.com/luoyunchong/lin-cms-vvlog)
+
+
+## 更新日志
+https://github.com/luoyunchong/lin-cms-dotnetcore/wiki/%E6%9B%B4%E6%96%B0%E6%97%A5%E5%BF%97
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 360c6ee6..bcadb666 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -20,23 +20,38 @@ steps:
script: |
echo read to execute command
ls
+ sed -i 's/{ConnectionStrings.DefaultDB}/$(ConnectionStrings.DefaultDB)/g' identityserver4/LinCms.IdentityServer4/appsettings.Production.json
sed -i 's/{ConnectionStrings.MySql}/$(ConnectionStrings.MySql)/g' identityserver4/LinCms.IdentityServer4/appsettings.Production.json
sed -i 's/{Certificates.Password}/$(Certificates.Password)/g' identityserver4/LinCms.IdentityServer4/appsettings.Production.json
-
+ sed -i 's/{ConnectionStrings.DefaultDB}/$(ConnectionStrings.DefaultDB)/g' src/LinCms.Web/appsettings.Production.json
sed -i 's/{ConnectionStrings.MySql}/$(ConnectionStrings.MySql)/g' src/LinCms.Web/appsettings.Production.json
+ sed -i 's/{ConnectionStrings.CsRedis}/$(ConnectionStrings.CsRedis)/g' src/LinCms.Web/appsettings.Production.json
sed -i 's/{Authentication.GitHub.ClientId}/$(Authentication.GitHub.ClientId)/g' src/LinCms.Web/appsettings.Production.json
sed -i 's/{Authentication.GitHub.ClientSecret}/$(Authentication.GitHub.ClientSecret)/g' src/LinCms.Web/appsettings.Production.json
- sed -i 's/{RabbitMQ.UserName}/$(RabbitMQ.UserName)/g' src/LinCms.Web/appsettings.Production.json
- sed -i 's/{RabbitMQ.Password}/$(RabbitMQ.Password)/g' src/LinCms.Web/appsettings.Production.json
+ sed -i 's/{Authentication.QQ.ClientId}/$(Authentication.QQ.ClientId)/g' src/LinCms.Web/appsettings.Production.json
+ sed -i 's/{Authentication.QQ.ClientSecret}/$(Authentication.QQ.ClientSecret)/g' src/LinCms.Web/appsettings.Production.json
+ sed -i 's/{Authentication.Gitee.ClientId}/$(Authentication.Gitee.ClientId)/g' src/LinCms.Web/appsettings.Production.json
+ sed -i 's/{Authentication.Gitee.ClientSecret}/$(Authentication.Gitee.ClientSecret)/g' src/LinCms.Web/appsettings.Production.json
+ sed -i 's/{IdentityServer.Authority}/$(IdentityServer.Authority)/g' src/LinCms.Web/appsettings.Production.json
+ sed -i 's/{CAP.RabbitMQ.HostName}/$(CAP.RabbitMQ.HostName)/g' src/LinCms.Web/appsettings.Production.json
+ sed -i 's/{CAP.RabbitMQ.UserName}/$(CAP.RabbitMQ.UserName)/g' src/LinCms.Web/appsettings.Production.json
+ sed -i 's/{CAP.RabbitMQ.Password}/$(CAP.RabbitMQ.Password)/g' src/LinCms.Web/appsettings.Production.json
+ sed -i 's/{CAP.RabbitMQ.VirtualHost}/$(CAP.RabbitMQ.VirtualHost)/g' src/LinCms.Web/appsettings.Production.json
+ sed -i 's/{FileStorage.Qiniu.AK}/$(FileStorage.Qiniu.AK)/g' src/LinCms.Web/appsettings.Production.json
+ sed -i 's/{FileStorage.Qiniu.SK}/$(FileStorage.Qiniu.SK)/g' src/LinCms.Web/appsettings.Production.json
+ sed -i 's/{MailKitOptions.Host}/$(MailKitOptions.Host)/g' src/LinCms.Web/appsettings.Production.json
+ sed -i 's/{MailKitOptions.Port}/$(MailKitOptions.Port)/g' src/LinCms.Web/appsettings.Production.json
+ sed -i 's/{MailKitOptions.UserName}/$(MailKitOptions.UserName)/g' src/LinCms.Web/appsettings.Production.json
+ sed -i 's/{MailKitOptions.Password}/$(MailKitOptions.Password)/g' src/LinCms.Web/appsettings.Production.json
echo command executed
-- script: |
- docker build -f $(identityserver4dockerfilepath) -t $(identityserver4imageName) .
- docker login -u $(dockerId) -p $(pwd) $(registry)
- docker tag $(identityserver4imageName) $(registry)/$(namespace)/$(identityserver4imageName)
- docker push $(registry)/$(namespace)/$(identityserver4imageName)
+#- script: |
+# docker build -f $(identityserver4dockerfilepath) -t $(identityserver4imageName) .
+# docker login -u $(dockerId) -p $(pwd) $(registry)
+# docker tag $(identityserver4imageName) $(registry)/$(namespace)/$(identityserver4imageName)
+# docker push $(registry)/$(namespace)/$(identityserver4imageName)
- displayName: push to lincms-identityserver4
+# displayName: push to lincms-identityserver4
- script: |
docker build -f $(linCmsWebdockerfilepath) -t $(webimageName) .
diff --git a/docs/README.md b/docs/README.md
index 617e1a28..b564535e 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -24,15 +24,24 @@ token_endpoint:
## ����
-- lincms-identityserver4 [http://47.106.80.39:5010/swagger/index.html](http://47.106.80.39:5010/swagger/index.html)
-- http://47.106.80.39:5010/.well-known/openid-configuration
-- lincms-web [http://47.106.80.39:5011/swagger/index.html](http://47.106.80.39:5011/swagger/index.html)
-- cap [http://47.106.80.39:5011/cap](http://47.106.80.39:5011/cap)
-- Portainer [http://47.106.80.39:9000/#/home](http://47.106.80.39:9000/#/home)
-
-
+- lincms-identityserver4 [http://111.231.197.142:5011/swagger/index.html](http://111.231.197.142:5011/swagger/index.html)
+- http://111.231.197.142:5010/.well-known/openid-configuration
+- lincms-web [http://111.231.197.142:5012/swagger/index.html](http://111.231.197.142:5012/swagger/index.html)
+- cap [http://111.231.197.142:5012/cap](http://111.231.197.142:5012/cap)
+- Docker����Portainer [http://47.106.80.39:9000/#/home](http://111.231.197.142:9000/#/home)
+- [http://111.231.197.142:5005/healthchecks-ui#/healthchecks](http:/111.231.197.142:5005/healthchecks-ui#/healthchecks)
+
+### �������˺ŵ�¼
+- https://localhost:5001/cms/oauth2/signin?provider=Gitee&redirectUrl=https://vvlog.baimocore.cn/
+- https://localhost:5001/cms/oauth2/signin?provider=GitHub&redirectUrl=https://vvlog.baimocore.cn/
+- https://localhost:5001/cms/oauth2/signin?provider=QQ&redirectUrl=https://vvlog.baimocore.cn/
+
+### �������˺Ű�
+- https://localhost:5001/cms/oauth2/signin-bind?provider=GitHub&redirectUrl=https://vvlog.baimocore.cn&token=
+- https://localhost:5001/cms/oauth2/signin-bind?provider=QQ&redirectUrl=http://localhost:8081&token=
+github���ٵ�¼��ʹ�õ�myget��Դ��
+[https://www.myget.org/feed/aspnet-contrib/package/nuget/AspNet.Security.OAuth.GitHub](https://www.myget.org/feed/aspnet-contrib/package/nuget/AspNet.Security.OAuth.GitHub)
-github���ٵ�¼��ʹ�õ�myget��Դ��
-[https://www.myget.org/feed/aspnet-contrib/package/nuget/AspNet.Security.OAuth.GitHub](https://www.myget.org/feed/aspnet-contrib/package/nuget/AspNet.Security.OAuth.GitHub)
\ No newline at end of file
+//https://github.com/login/oauth/authorize?client_id=0be6b05fc717bfc4fb67&state=github&redirect_uri=https://localhost:5001/signin-github
\ No newline at end of file
diff --git a/docs/api/index.md b/docs/api/index.md
new file mode 100644
index 00000000..78dc9c00
--- /dev/null
+++ b/docs/api/index.md
@@ -0,0 +1,2 @@
+# PLACEHOLDER
+TODO: Add .NET projects to the *src* folder and run `docfx` to generate **REAL** *API Documentation*!
diff --git a/docs/articles/intro.md b/docs/articles/intro.md
new file mode 100644
index 00000000..c0478ced
--- /dev/null
+++ b/docs/articles/intro.md
@@ -0,0 +1 @@
+# Add your introductions here!
diff --git a/docs/articles/toc.yml b/docs/articles/toc.yml
new file mode 100644
index 00000000..ff89ef1f
--- /dev/null
+++ b/docs/articles/toc.yml
@@ -0,0 +1,2 @@
+- name: Introduction
+ href: intro.md
diff --git a/docs/docfx.json b/docs/docfx.json
new file mode 100644
index 00000000..a5cebf94
--- /dev/null
+++ b/docs/docfx.json
@@ -0,0 +1,69 @@
+{
+ "metadata": [
+ {
+ "src": [
+ {
+ "files": [
+ "**/*.csproj"
+ ],
+ "exclude": [
+ "**/bin/**",
+ "**/obj/**"
+ ],
+ "src": "../src"
+ }
+ ],
+ "dest": "api",
+ "disableGitFeatures": false,
+ "disableDefaultFilter": false
+ }
+ ],
+ "build": {
+ "content": [
+ {
+ "files": [
+ "api/**.yml",
+ "api/index.md"
+ ]
+ },
+ {
+ "files": [
+ "articles/**.md",
+ "articles/**/toc.yml",
+ "toc.yml",
+ "*.md"
+ ]
+ }
+ ],
+ "resource": [
+ {
+ "files": [
+ "images/**"
+ ]
+ }
+ ],
+ "overwrite": [
+ {
+ "files": [
+ "apidoc/**.md"
+ ],
+ "exclude": [
+ "obj/**",
+ "_site/**"
+ ]
+ }
+ ],
+ "dest": "_site",
+ "globalMetadataFiles": [],
+ "fileMetadataFiles": [],
+ "template": [
+ "default"
+ ],
+ "postProcessors": [],
+ "markdownEngineName": "markdig",
+ "noLangKeyword": false,
+ "keepFileLink": false,
+ "cleanupCacheHistory": false,
+ "disableGitFeatures": false
+ }
+}
\ No newline at end of file
diff --git a/docs/index.md b/docs/index.md
new file mode 100644
index 00000000..3ae25063
--- /dev/null
+++ b/docs/index.md
@@ -0,0 +1,4 @@
+# This is the **HOMEPAGE**.
+Refer to [Markdown](http://daringfireball.net/projects/markdown/) for how to write markdown files.
+## Quick Start Notes:
+1. Add images to the *images* folder if the file is referencing an image.
diff --git a/docs/sql/lincms.sql b/docs/sql/lincms.sql
deleted file mode 100644
index be06ec6d..00000000
--- a/docs/sql/lincms.sql
+++ /dev/null
@@ -1,266 +0,0 @@
-/*
- Navicat Premium Data Transfer
-
- Source Server : localhost
- Source Server Type : MySQL
- Source Server Version : 50725
- Source Host : localhost:3306
- Source Schema : lincms
-
- Target Server Type : MySQL
- Target Server Version : 50725
- File Encoding : 65001
-
- Date: 02/09/2019 23:59:12
-*/
-
-SET NAMES utf8mb4;
-SET FOREIGN_KEY_CHECKS = 0;
-
--- ----------------------------
--- Table structure for base_item
--- ----------------------------
-DROP TABLE IF EXISTS `base_item`;
-CREATE TABLE `base_item` (
- `is_deleted` bit(1) NOT NULL,
- `base_type_id` int(11) NOT NULL,
- `item_code` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `item_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `sort_code` int(11) NULL DEFAULT NULL,
- `create_user_id` bigint(20) NULL DEFAULT NULL,
- `create_time` datetime(3) NULL,
- `delete_user_id` bigint(20) NULL DEFAULT NULL,
- `delete_time` datetime(3) NULL DEFAULT NULL,
- `update_user_id` bigint(20) NULL DEFAULT NULL,
- `update_time` datetime(3) NULL,
- `id` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Records of base_item
--- ----------------------------
-INSERT INTO `base_item` VALUES (b'0', 2, '.net core', '.net core', 2, NULL, '2019-09-02 22:12:27.196', NULL, NULL, NULL, '2019-09-02 22:17:38.230', 1);
-
--- ----------------------------
--- Table structure for base_type
--- ----------------------------
-DROP TABLE IF EXISTS `base_type`;
-CREATE TABLE `base_type` (
- `type_code` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `full_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `sort_code` int(11) NULL DEFAULT NULL,
- `create_user_id` bigint(20) NULL DEFAULT NULL,
- `create_time` datetime(3) NULL,
- `is_deleted` bit(1) NOT NULL,
- `delete_user_id` bigint(20) NULL DEFAULT NULL,
- `delete_time` datetime(3) NULL DEFAULT NULL,
- `update_user_id` bigint(20) NULL DEFAULT NULL,
- `update_time` datetime(3) NULL,
- `id` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Records of base_type
--- ----------------------------
-INSERT INTO `base_type` VALUES ('tag', '标签', 3, NULL, '2019-09-02 22:11:20.440', b'0', NULL, NULL, NULL, '2019-09-02 22:15:02.309', 1);
-
--- ----------------------------
--- Table structure for blog_article
--- ----------------------------
-DROP TABLE IF EXISTS `blog_article`;
-CREATE TABLE `blog_article` (
- `is_deleted` bit(1) NOT NULL,
- `f_id` int(11) NULL DEFAULT NULL,
- `title` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `keywords` varchar(400) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `source` varchar(400) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `excerpt` varchar(400) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `content` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `view_hits` int(11) NOT NULL,
- `comment_quantity` int(11) NOT NULL,
- `point_quantity` int(11) NOT NULL,
- `thumbnail` varchar(400) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `is_audit` bit(1) NOT NULL,
- `recommend` bit(1) NOT NULL,
- `is_stickie` bit(1) NOT NULL,
- `archive` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `article_type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `editor` int(11) NOT NULL,
- `create_user_id` bigint(20) NULL DEFAULT NULL,
- `create_time` datetime(3) NULL,
- `delete_user_id` bigint(20) NULL DEFAULT NULL,
- `delete_time` datetime(3) NULL DEFAULT NULL,
- `update_user_id` bigint(20) NULL DEFAULT NULL,
- `update_time` datetime(3) NULL,
- `id` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1425 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Table structure for book
--- ----------------------------
-DROP TABLE IF EXISTS `book`;
-CREATE TABLE `book` (
- `author` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `image` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `summary` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `title` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `create_user_id` bigint(20) NULL DEFAULT NULL,
- `create_time` datetime(3) NULL,
- `is_deleted` bit(1) NOT NULL,
- `delete_user_id` bigint(20) NULL DEFAULT NULL,
- `delete_time` datetime(3) NULL DEFAULT NULL,
- `update_user_id` bigint(20) NULL DEFAULT NULL,
- `update_time` datetime(3) NULL,
- `id` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 29 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Table structure for lin_auth
--- ----------------------------
-DROP TABLE IF EXISTS `lin_auth`;
-CREATE TABLE `lin_auth` (
- `group_id` int(11) NOT NULL,
- `auth` varchar(60) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `module` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `id` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 33 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Records of lin_auth
--- ----------------------------
-INSERT INTO `lin_auth` VALUES (2, '查询日志记录的用户', '日志', 20);
-INSERT INTO `lin_auth` VALUES (2, '搜索日志', '日志', 21);
-INSERT INTO `lin_auth` VALUES (2, '删除图书', '图书', 22);
-INSERT INTO `lin_auth` VALUES (2, '查看lin的信息', '信息', 23);
-INSERT INTO `lin_auth` VALUES (2, '查询所有日志', '日志', 24);
-INSERT INTO `lin_auth` VALUES (15, '删除图书', '图书', 32);
-
--- ----------------------------
--- Table structure for lin_file
--- ----------------------------
-DROP TABLE IF EXISTS `lin_file`;
-CREATE TABLE `lin_file` (
- `extension` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `md5` varchar(40) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `path` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `size` int(11) NULL DEFAULT NULL,
- `type` smallint(6) NULL DEFAULT NULL,
- `create_user_id` bigint(20) NULL DEFAULT NULL,
- `create_time` datetime(3) NULL,
- `is_deleted` bit(1) NOT NULL,
- `delete_user_id` bigint(20) NULL DEFAULT NULL,
- `delete_time` datetime(3) NULL DEFAULT NULL,
- `update_user_id` bigint(20) NULL DEFAULT NULL,
- `update_time` datetime(3) NULL,
- `id` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Records of lin_file
--- ----------------------------
-INSERT INTO `lin_file` VALUES ('.png', '87cd112413b9979753ac7119c9266b5f', '1555844046442-84200e65-7dac-452c-83db-30ea73317782.png', '2019/07/31/61fd9345-052b-4c76-bbfc-b168161ab983.png', 1936251, 1, NULL, '2019-07-31 09:13:29.833', b'0', NULL, NULL, NULL, '0001-01-01 00:00:00.000', 1);
-INSERT INTO `lin_file` VALUES ('.jpg', 'fd4cdd5d931a430975c51ed0ba34012e', 'avatar.jpg', '2019/07/31/5f533562-0614-4f6f-9cc3-cc62d919cdc1.jpg', 3195, 1, NULL, '2019-07-31 09:14:35.275', b'0', NULL, NULL, NULL, '0001-01-01 00:00:00.000', 2);
-INSERT INTO `lin_file` VALUES ('.jpg', '7aa613b4b32544141120d3027a8606b9', 'avatar.jpg', '2019/07/31/c706747b-a360-434c-b50f-8fa79bfc2818.jpg', 6468, 1, NULL, '2019-07-31 09:59:21.547', b'0', NULL, NULL, NULL, '0001-01-01 00:00:00.000', 3);
-INSERT INTO `lin_file` VALUES ('.jpg', 'c6166852e4be8657f5d41560da6103d2', 'avatar.jpg', '2019/07/31/0f40818c-ddb1-4c48-9e09-6332357a38df.jpg', 11641, 1, NULL, '2019-07-31 10:00:32.578', b'0', NULL, NULL, NULL, '0001-01-01 00:00:00.000', 4);
-INSERT INTO `lin_file` VALUES ('.jpg', '3feb060714c5c18d80eddd7947396ec5', 'avatar.jpg', '2019/07/31/40c33485-9e30-435e-8664-76ea1ad579b0.jpg', 4346, 1, NULL, '2019-07-31 10:11:27.167', b'0', NULL, NULL, NULL, '0001-01-01 00:00:00.000', 5);
-INSERT INTO `lin_file` VALUES ('.png', 'fab966fc5a5a9f6938402b3c81b6d90a', '1555843960160-99ea3f39-f119-40ee-b89a-97e1548cbfb8.png', '2019/07/31/05d32e3f-40fd-4b1e-b5c1-35bbe1f01c8f.png', 1525724, 1, NULL, '2019-07-31 12:06:53.904', b'0', NULL, NULL, NULL, '0001-01-01 00:00:00.000', 6);
-
--- ----------------------------
--- Table structure for lin_group
--- ----------------------------
-DROP TABLE IF EXISTS `lin_group`;
-CREATE TABLE `lin_group` (
- `name` varchar(60) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `info` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `id` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 16 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Records of lin_group
--- ----------------------------
-INSERT INTO `lin_group` VALUES ('管理员分组', '管理员分组', 2);
-INSERT INTO `lin_group` VALUES ('图书分组管理', '图书分组管理', 15);
-
--- ----------------------------
--- Table structure for lin_log
--- ----------------------------
-DROP TABLE IF EXISTS `lin_log`;
-CREATE TABLE `lin_log` (
- `authority` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `message` varchar(450) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `method` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `path` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `status_code` int(11) NULL DEFAULT NULL,
- `time` datetime(0) NULL DEFAULT NULL,
- `user_id` int(11) NOT NULL,
- `user_name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `other_message` varchar(5000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1143 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Table structure for lin_poem
--- ----------------------------
-DROP TABLE IF EXISTS `lin_poem`;
-CREATE TABLE `lin_poem` (
- `author` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,
- `dynasty` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `image` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `title` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `create_user_id` bigint(20) NULL DEFAULT NULL,
- `create_time` datetime(3) NULL,
- `is_deleted` bit(1) NOT NULL,
- `delete_user_id` bigint(20) NULL DEFAULT NULL,
- `delete_time` datetime(3) NULL DEFAULT NULL,
- `update_user_id` bigint(20) NULL DEFAULT NULL,
- `update_time` datetime(3) NULL,
- `id` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Records of lin_poem
--- ----------------------------
-INSERT INTO `lin_poem` VALUES ('1', '2', '3', '4', '', 8, '2019-08-01 21:11:47.268', b'0', NULL, NULL, 8, '2019-08-01 21:12:43.056', 1);
-INSERT INTO `lin_poem` VALUES ('string', 'string', 'string', 'string', 'string', 8, '2019-08-01 21:18:37.128', b'0', NULL, NULL, NULL, '0001-01-01 00:00:00.000', 2);
-
--- ----------------------------
--- Table structure for lin_user
--- ----------------------------
-DROP TABLE IF EXISTS `lin_user`;
-CREATE TABLE `lin_user` (
- `nickname` varchar(24) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `avatar` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `password` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `email` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `admin` int(11) NOT NULL,
- `active` int(11) NOT NULL,
- `group_id` int(11) NOT NULL,
- `create_user_id` bigint(20) NULL DEFAULT NULL,
- `create_time` datetime(3) NULL,
- `is_deleted` bit(1) NOT NULL,
- `delete_user_id` bigint(20) NULL DEFAULT NULL,
- `delete_time` datetime(3) NULL DEFAULT NULL,
- `update_user_id` bigint(20) NULL DEFAULT NULL,
- `update_time` datetime(3) NULL,
- `id` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1242 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Records of lin_user
--- ----------------------------
-INSERT INTO `lin_user` VALUES ('admin', NULL, '46F94C8DE14FB36680850768FF1B7F2A', '', 2, 1, 2, NULL, '2019-08-02 23:46:08.000', b'0', NULL, NULL, NULL, '2019-08-02 23:46:08.000', 7);
-INSERT INTO `lin_user` VALUES ('super', '2019/07/31/0f40818c-ddb1-4c48-9e09-6332357a38df.jpg', 'BEB6B72231DAAFE7D913BAA818A63F0C', '', 1, 1, 15, NULL, '2019-08-02 23:46:08.000', b'0', NULL, NULL, NULL, '2019-08-02 23:46:08.000', 11);
-
-SET FOREIGN_KEY_CHECKS = 1;
diff --git "a/docs/sql/\346\225\260\346\215\256\345\272\223.zip" "b/docs/sql/\346\225\260\346\215\256\345\272\223.zip"
new file mode 100644
index 00000000..eb09cd73
Binary files /dev/null and "b/docs/sql/\346\225\260\346\215\256\345\272\223.zip" differ
diff --git a/docs/toc.yml b/docs/toc.yml
new file mode 100644
index 00000000..59f80104
--- /dev/null
+++ b/docs/toc.yml
@@ -0,0 +1,5 @@
+- name: Articles
+ href: articles/
+- name: Api Documentation
+ href: api/
+ homepage: api/index.md
diff --git a/framework/IGeekFan.sln b/framework/IGeekFan.sln
new file mode 100644
index 00000000..11048557
--- /dev/null
+++ b/framework/IGeekFan.sln
@@ -0,0 +1,48 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.29613.14
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{33F33892-2C9C-432A-B77C-E09E18E41C1E}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{E94AA563-C2D9-4312-B296-DA6DE6DE13F5}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{7A7054CA-747F-4E0A-8A6B-AD3D2F02484A}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IGeekFan.Localization.FreeSql", "src\IGeekFan.Localization.FreeSql\IGeekFan.Localization.FreeSql.csproj", "{481B0459-59B7-4502-B77F-0D15BA488BA2}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sample.Localization", "samples\Sample.Localization\Sample.Localization.csproj", "{74D48241-41CF-470D-8BAD-8B70318BBA3C}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IGeekFan.Test", "test\IGeekFan.Test\IGeekFan.Test.csproj", "{8435070A-283C-4750-A04F-8A332D431FFC}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {481B0459-59B7-4502-B77F-0D15BA488BA2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {481B0459-59B7-4502-B77F-0D15BA488BA2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {481B0459-59B7-4502-B77F-0D15BA488BA2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {481B0459-59B7-4502-B77F-0D15BA488BA2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {74D48241-41CF-470D-8BAD-8B70318BBA3C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {74D48241-41CF-470D-8BAD-8B70318BBA3C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {74D48241-41CF-470D-8BAD-8B70318BBA3C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {74D48241-41CF-470D-8BAD-8B70318BBA3C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {8435070A-283C-4750-A04F-8A332D431FFC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8435070A-283C-4750-A04F-8A332D431FFC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8435070A-283C-4750-A04F-8A332D431FFC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8435070A-283C-4750-A04F-8A332D431FFC}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {481B0459-59B7-4502-B77F-0D15BA488BA2} = {33F33892-2C9C-432A-B77C-E09E18E41C1E}
+ {74D48241-41CF-470D-8BAD-8B70318BBA3C} = {E94AA563-C2D9-4312-B296-DA6DE6DE13F5}
+ {8435070A-283C-4750-A04F-8A332D431FFC} = {7A7054CA-747F-4E0A-8A6B-AD3D2F02484A}
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {9A532480-28D6-4D1A-A85F-EA2EE2DBECD2}
+ EndGlobalSection
+EndGlobal
diff --git a/framework/VoVo.sln b/framework/VoVo.sln
deleted file mode 100644
index b492edc5..00000000
--- a/framework/VoVo.sln
+++ /dev/null
@@ -1,41 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 16
-VisualStudioVersion = 16.0.29613.14
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{33F33892-2C9C-432A-B77C-E09E18E41C1E}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{E94AA563-C2D9-4312-B296-DA6DE6DE13F5}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sample.RabbitMQ.MySql", "samples\Sample.RabbitMQ.MySql\Sample.RabbitMQ.MySql.csproj", "{45917EEB-75F8-46E0-BB8E-38D428C8175A}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{7A7054CA-747F-4E0A-8A6B-AD3D2F02484A}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VoVo.CAP.MySql", "src\VoVo.CAP.MySql\VoVo.CAP.MySql.csproj", "{C08591A8-53DD-4066-AFC9-C7F495454778}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {45917EEB-75F8-46E0-BB8E-38D428C8175A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {45917EEB-75F8-46E0-BB8E-38D428C8175A}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {45917EEB-75F8-46E0-BB8E-38D428C8175A}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {45917EEB-75F8-46E0-BB8E-38D428C8175A}.Release|Any CPU.Build.0 = Release|Any CPU
- {C08591A8-53DD-4066-AFC9-C7F495454778}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C08591A8-53DD-4066-AFC9-C7F495454778}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C08591A8-53DD-4066-AFC9-C7F495454778}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C08591A8-53DD-4066-AFC9-C7F495454778}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {45917EEB-75F8-46E0-BB8E-38D428C8175A} = {E94AA563-C2D9-4312-B296-DA6DE6DE13F5}
- {C08591A8-53DD-4066-AFC9-C7F495454778} = {33F33892-2C9C-432A-B77C-E09E18E41C1E}
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {9A532480-28D6-4D1A-A85F-EA2EE2DBECD2}
- EndGlobalSection
-EndGlobal
diff --git a/framework/samples/Sample.Localization/Controllers/CultureController.cs b/framework/samples/Sample.Localization/Controllers/CultureController.cs
new file mode 100644
index 00000000..83623ed3
--- /dev/null
+++ b/framework/samples/Sample.Localization/Controllers/CultureController.cs
@@ -0,0 +1,41 @@
+using Microsoft.AspNetCore.Localization;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.Extensions.Localization;
+using Microsoft.Extensions.Logging;
+
+namespace Sample.Localization.Controllers
+{
+ [Route("[controller]")]
+ public class CultureController : Controller
+ {
+ private readonly ILogger| Winning provider: | +@requestCultureFeature.Provider.GetType().Name | +
|---|---|
| @SR["Current request culture:"] | +@requestCulture.Culture.DisplayName (@requestCulture.Culture) | +
| @SR["Current request UI culture:"] | +@requestCulture.UICulture.DisplayName (@requestCulture.UICulture) | +
| @SR["Current thread culture:"] | +@CultureInfo.CurrentCulture.DisplayName (@CultureInfo.CurrentCulture) | +
| @SR["Current thread UI culture:"]: | +@CultureInfo.CurrentUICulture.DisplayName (@CultureInfo.CurrentUICulture) | +
| @SR["Current date (invariant full):"]: | +@DateTime.Now.ToString("F", CultureInfo.InvariantCulture) | +
| @SR["Current date (invariant):"] | +@DateTime.Now.ToString(CultureInfo.InvariantCulture) | +
| @SR["Current date (request full):"] | +@DateTime.Now.ToString("F") | +
| @SR["Current date (request):"] | +@DateTime.Now.ToString() | +
| @SR["Current time (invariant):"] | +@DateTime.Now.ToString("T", CultureInfo.InvariantCulture) | +
| @SR["Current time (request):"] | +@DateTime.Now.ToString("T") | +
| @SR["Big number (invariant):"] | +@((Math.Pow(2, 42) + 0.42).ToString("N", CultureInfo.InvariantCulture))) | +
| @SR["Big number (request):"] | +@((Math.Pow(2, 42) + 0.42).ToString("N"))) | +
| @SR["Big number negative (invariant):"] | +-@(((Math.Pow(2, 42) + 0.42).ToString("N", CultureInfo.InvariantCulture))) | +
| @SR["Big number negative (request):"] | +-@((Math.Pow(2, 42) + 0.42).ToString("N"))) | +
| @SR["Money (invariant):"] | +@((2199.50.ToString("C", CultureInfo.InvariantCulture))) | +
| @SR["Money (request):"] | +@(2199.50.ToString("C")) | +
| @SR["Money negative (invariant):"] | +@((-2199.50).ToString("C", CultureInfo.InvariantCulture)) | +
| @SR["Money negative (request):"] | +@((-2199.50).ToString("C")) | +
+ Request ID: @Model.RequestId
+
+ Swapping to Development environment will display more detailed information about the error that occurred. +
++ The Development environment shouldn't be enabled for deployed applications. + It can result in displaying sensitive information from exceptions to end users. + For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development + and restarting the app. +
diff --git a/framework/samples/Sample.Localization/Views/Shared/_Layout.cshtml b/framework/samples/Sample.Localization/Views/Shared/_Layout.cshtml new file mode 100644 index 00000000..eab0192c --- /dev/null +++ b/framework/samples/Sample.Localization/Views/Shared/_Layout.cshtml @@ -0,0 +1,43 @@ + + + + + +Error: @ViewBag.VM.Error.Error
+Description: @ViewBag.VM.Error.ErrorDescription
\ No newline at end of file diff --git a/identityserver4/LinCms.IdentityServer4/appsettings.Development.json b/identityserver4/LinCms.IdentityServer4/appsettings.Development.json new file mode 100644 index 00000000..4f30a00f --- /dev/null +++ b/identityserver4/LinCms.IdentityServer4/appsettings.Development.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Debug", + "Microsoft": "Warning", + "Microsoft.Hosting.Lifetime": "Information" + } + } +} diff --git a/identityserver4/LinCms.IdentityServer4/appsettings.Production.json b/identityserver4/LinCms.IdentityServer4/appsettings.Production.json new file mode 100644 index 00000000..df8503cc --- /dev/null +++ b/identityserver4/LinCms.IdentityServer4/appsettings.Production.json @@ -0,0 +1,26 @@ +{ + "ConnectionStrings": { + "DefaultDB": "0", + "MySql": "Data Source=124.70.130.97;Port=3306;User ID=root;Password=Lycqewcml520;Initial Catalog=lincms;Charset=utf8mb4;SslMode=none;Max pool size=1;Connection LifeTime=20" + }, + "Certificates": { + "Path": "IS4.pfx", + "Password": "lincms123456" + }, + "Kestrel": { + "Limits": { + "MaxRequestBodySize": 9223372036854775807, + "MaxRequestBufferSize": 9223372036854775807, + "MaxRequestLineSize": 9223372036854775807 + }, + "Endpoints": { + "Https": { + "Url": "https://*:5010/", + "Certificate": { + "Path": "ids4.igeekfan.cn.pfx", + "Password": "ep9225ya6xn9hu6" + } + } + } + } +} diff --git a/identityserver4/LinCms.IdentityServer4/appsettings.json b/identityserver4/LinCms.IdentityServer4/appsettings.json new file mode 100644 index 00000000..c8e87ea5 --- /dev/null +++ b/identityserver4/LinCms.IdentityServer4/appsettings.json @@ -0,0 +1,96 @@ +{ + "ConnectionStrings": { + "DefaultDB": "0", + "DataType": { + "MySql": 0, + "SqlServer": 1, + "PostgreSQL": 2, + "Oracle": 3, + "Sqlite": 4 + }, + "MySql": "Data Source=localhost;Port=3308;User ID=root;Password=root;Initial Catalog=lincms;Charset=utf8mb4;SslMode=none;Max pool size=1;Connection LifeTime=20", + "SqlServer": "Data Source=.;User ID=sa;Password=123456;Integrated Security=True;Initial Catalog=LinCMS;Pooling=true;Min Pool Size=1", + "Sqlite": "Data Source=|DataDirectory|\\lincms.db; Attachs=lincms.db; Pooling=true;Min Pool Size=1" + }, + "Certificates": { + "Path": "IS4.pfx", + "Password": "lincms123456" + }, + "AllowedHosts": "*", + "IdentityServer": { + "IsEnabled": "true", + "Authority": "https://localhost:5003/", + "ApiName": "LinCms.Web", + "ApiSecret": "secret", + "Clients": [ + { + "ClientId": "lin-cms-dotnetcore-client-id", + "AllowedGrantTypes": [ + "password" + ], + "ClientSecrets": [ + { + "Value": "lin-cms-dotnetcore-client-secrets" + } + ], + "AllowedScopes": [ + "default-api" + ] + } + ] + }, + "Service": { + "GrantType": "password", + "ClientId": "lin-cms-dotnetcore-client-id", + "ClientSecret": "lin-cms-dotnetcore-client-secrets", + "Name": "LinCms.Web", + "Authority": "https://localhost:5003/", + "DocName": "Lin-Cms-DotNetCore", + "Contact": { + "Name": "LinCms.Web Team", + "Email": "710277267@qq.com" + } + }, + "WithOrigins": [ "https://localhost:5001/", "http://localhost:5000/" ], + "Serilog": { + "WriteTo": [ + { + "Name": "File", + "Args": { + "path": "Logs/log.txt", + "rollingInterval": "Day" + } + }, + { + "Name": "Console", + "Args": { + "theme": "Serilog.Sinks.SystemConsole.Themes.AnsiConsoleTheme::Code, Serilog.Sinks.Console", + "outputTemplate": "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}