OpenAuth.Net/newdocs/docs/notes/core/start.md
2025-06-07 22:06:28 +08:00

4.7 KiB
Raw Blame History

title createTime permalink
快速开始 2025/04/23 21:03:10 /core/start/

下载代码

gitee上面两个版本。其中

.Net目前SDK升级特别方便。请参考3分钟的时间把.net core 3.1的升级到.NET 5所以不要纠结SDK版本问题。

系统架构

系统架构

安装sdk

下载安装微软官方SDK代码地址https://dotnet.microsoft.com/download

项目结构

OpenAuth.Net文件夹结构及功能说明如下

📦OpenAuth.Net
 ┣ 📂CodeSmith
 ┃ ┗ 📂CSharp
 ┃ ┃ ┗ 📜WebGenerate.cst  //生成Web页面
 ┣ 📂Infrastructure       //基础工具类
 ┣ 📂mysql初始化脚本       
 ┣ 📂OpenAuth.App         //应用逻辑代码
 ┣ 📂OpenAuth.Identity    //IdentityServer4服务器提供OAuth服务
 ┣ 📂OpenAuth.Mvc         //开源版Web站点已弃用⚠
 ┣ 📂OpenAuth.Repository  //数据库访问相关代码
 ┣ 📂OpenAuth.WebApi      //WebApi接口站点
 ┣ 📂sql server 初始化脚本
 ┣ 📜.gitattributes
 ┣ 📜.gitignore
 ┣ 📜LICENSE
 ┣ 📜OpenAuth.Net.sln    //解决方案
 ┗ 📜README.md

其中调用关系为:

@startuml hide footbox skinparam handwritten true

actor 用户 boundary vue2 control XXController entity OpenAuth.App entity OpenAuth.Repository database OpenAuthDB participant vue2 box "OpenAuth.WebApi" #LightBlue

participant XXController

end box participant OpenAuth.App participant OpenAuth.Repository participant OpenAuthDB

用户 -> vue2 : 用户浏览页面 vue2 -> XXController : 前端通过ajax调用数据 XXController -> OpenAuth.App : 调用逻辑层 OpenAuth.App -> OpenAuth.Repository : 逻辑层调用仓储进行数据读写 OpenAuth.Repository -> OpenAuthDB : 仓储层进行数据库操作

@enduml

初始化数据库

使用数据库脚本SqlServer脚本mysql脚本 文件夹里面的结构脚本和数据脚本初始化数据库

打开项目

使用Visual Studio 2022或Rider打开 OpenAuth.Net.sln ::: tip 提示 如果开发使用的电脑安装有多个版本的SDK可以在根目录新建一个global.json文件来指定.net版本文件内容如下

{
  "sdk": {
    "version": "9.0.100"
  }
}

:::

修改配置

ASP.NET Core 应用程序启动时默认加载appsettings.json作为应用配置。同时还支持不同的运行环境加载对应的配置文件,如:

  • 开发环境Development对应 appsettings.Development.json

  • 部署环境Production对应 appsettings.Production.json

::: tip 提示

  • 很多用户部署后提示连接数据库失败,很大原因就是没有修改appsettings.Production.json里面连接字符串

  • 有些用户找不到appsettings.Production.json在哪visual studio中点击appsettings.json左边的三角标识即可看到

:::

修改单数据库连接字符串

  • 修改OpenAuth.Mvc/appsettings.json连接字符串如下
  "ConnectionStrings": {
    "OpenAuthDBContext": "Data Source=.;Initial Catalog=OpenAuthPro;User=sa;Password=000000"
  },
  "AppSetting": {
    "DbTypes": {
        "OpenAuthDBContext":"SqlServer" //数据库类型SqlServer、MySql、Oracle
    }

修改多数据库连接字符串

  "ConnectionStrings": {
    "OpenAuthDBContext": "Data Source=.;Initial Catalog=OpenAuthPro;User=sa;Password=000000"
    "OpenAuthDBContext2": "DATA SOURCE=192.168.0.118:1521/YUBAO;PASSWORD=000000;Validate Connection=true;PERSIST SECURITY INFO=True;USER ID=yubaolee;" //racle
    "OpenAuthDBContext3": "server=127.0.0.1;user id=root;database=openauthpro;password=000000" //my sql
  },
  "AppSetting": {
    "DbTypes": {
        "OpenAuthDBContext":"SqlServer" //数据库类型SqlServer、MySql、Oracle
       ,"OpenAuthDBContext2":"Oracle"
       ,"OpenAuthDBContext3":"MySql"
    }, 

编译运行WebApi

使用visualstudio生成解决方案。 首次启动时visual studio会启动nuget还原第三方依赖包请保持网络通畅并等待一段时间

启动openauth.webapi项目。

20220102000528

启动成功后使用浏览器打开http://localhost:52789/swagger/index.html 即可访问,如下图所示:

20220101233542