Gridview配置数据源--信任服务器证书
目录
- 背景
- 过程
- Gridview配置数据源
- GridView与数据源:
- 数据库连接与安全:
- 信任服务器证书:
- 配置信任服务器证书:
- 注意事项:
- 生成连接字符串
- 程序运行报错
- 问题解决
- 总结
背景
Gridview配置数据源之后,程序报错

过程
Gridview配置数据源
信任服务器证书,这里如果不勾选,会报错

GridView与数据源:
GridView是Web开发中常用的数据展示控件,它可以从多种数据源(如数据库、XML文件、对象集合等)中获取数据,并以表格形式显示。
配置数据源是指将GridView与特定的数据提供程序(如SqlDataSource、ObjectDataSource等)或数据源连接字符串相关联的过程。
数据库连接与安全:
当GridView通过数据库连接字符串连接到数据库时,可能会涉及到网络安全问题。
在使用SSL/TLS加密的数据库连接中,客户端(如Web应用程序)和服务器(如数据库服务器)之间的通信会被加密,以保护敏感数据不被窃取或篡改。
信任服务器证书:
在建立SSL/TLS加密的数据库连接时,服务器会向客户端提供一个证书,以证明其身份。
“信任服务器证书”意味着客户端(或更具体地说,是运行GridView的Web应用程序)接受并信任服务器提供的证书。
如果证书是有效的(即由受信任的证书颁发机构签发,且未过期、未撤销),则连接可以安全地继续。
如果证书存在问题(如自签名证书、证书过期、证书颁发机构不受信任等),则客户端可能会拒绝连接,或者要求用户确认是否继续(这取决于具体的配置和应用程序的行为)。
配置信任服务器证书:
在某些情况下,特别是使用自签名证书或内部证书颁发机构时,可能需要在客户端上配置信任。
这通常涉及将服务器的证书导入到客户端的信任存储中,或者在连接字符串中指定信任服务器的选项(这取决于具体的数据库驱动程序和连接字符串格式)。
注意事项:
信任自签名证书或不受信任的证书颁发机构签发的证书可能会带来安全风险,因为它削弱了SSL/TLS加密提供的安全性保证。
在生产环境中,应尽可能使用由受信任的证书颁发机构签发的证书,并确保证书的有效性和安全性。
生成连接字符串

在SQL Server连接字符串中,使用TrustServerCertificate=true来绕过证书验证(但请注意,这会降低安全性)。
看下这段代码
Server=localhost;Initial Catalog=newsystem;Integrated Security=True;TrustServerCertificate=True;
Server=localhost:指定服务器的地址,这里是本地主机。
Initial Catalog=newsystem:指定要连接的数据库名称。
Integrated Security=True:指定使用Windows身份验证来连接数据库。这意味着不需要提供用户名和密码,而是依赖Windows用户帐户的凭据。
Trus tServer Certificate=True:指定客户端应该信任服务器的SSL证书,即使该证书不是由受信任的证书颁发机构签发的。这通常用于开发或测试环境,但在生产环境中可能会带来安全风险。
程序运行报错
开头展示的那张图片

在生产环境中,应该确保服务器使用由受信任的证书颁发机构签发的有效SSL证书,并将TrustServerCertificate设置为False(或完全省略该参数,因为False是默认值)。
问题解决
项目中,删除这段话

重新生成解决方案,成功运行

原因分析:(可能原因–证书问题)
Gridview配置数据源时的“信任服务器证书”选项:
在图形化界面工具或向导中,用于配置数据库连接。当勾选这个选项时,它通常会在生成的连接字符串中包含TrustServerCertificate=True。这个参数的作用是告诉客户端(我的应用程序)信任服务器的SSL证书,即使该证书不是由受信任的证书颁发机构签发的。
服务器可能使用了一个不受客户端信任的SSL证书。
证书可能已经过期、被撤销或存在其他问题。
客户端(应用程序)无法验证服务器的身份,因为证书链不完整或证书颁发机构不受信任。
当 TrustServerCertificate=True 被设置时,客户端会忽略证书验证错误,并继续建立连接。删除此参数后,客户端将执行正常的证书验证,如果证书有问题,连接将失败。
删除此参数是遵循最佳安全实践的做法,确保只有使用有效和受信任证书的服务器才能被连接。
总结
图形化界面中的任何选择都会以某种形式映射到代码层面,无论是配置文件、数据库连接字符串,还是应用程序内部的逻辑。因此,当在图形化界面中做出选择(如勾选“信任服务器证书”)后遇到问题时,需要深入代码层面去寻找问题的根源。
相关文章:
Gridview配置数据源--信任服务器证书
目录 背景过程Gridview配置数据源GridView与数据源:数据库连接与安全:信任服务器证书:配置信任服务器证书:注意事项: 生成连接字符串程序运行报错问题解决 总结 背景 Gridview配置数据源之后,程序报错 过…...
【Next.js 入门教程系列】08-发送邮件
原文链接 CSDN 的排版/样式可能有问题,去我的博客查看原文系列吧,觉得有用的话, 给我的库点个star,关注一下吧 上一篇【Next.js 入门教程系列】07-身份验证 发送邮件 Setting Up React Email React Email 是一个高效便捷的 E…...
Echarts合集更更更之树图
实现效果 写在最后🍒 源码,关注🍥苏苏的bug,🍡苏苏的github,🍪苏苏的码云...
线性代数 行列式
一、行列式 1、定义 一个数学概念,主要用于 线性代数中,它是一个可以从方阵(即行数和列数相等的矩阵)形成的一个标量(即一个单一的数值) 2、二阶行列式 ,像这样将一个式子收缩称为一个 2*2 的…...
Ubuntu 通过 Docker 搭建 GitLab
准备工作 1.)更新软件。确保你的系统是最新 sudo apt update sudo apt upgrade -y 2.)安装 Docker 和 Docker Compose。 参考:Ubuntu 上安装 Docker-CSDN博客 1. 创建 GitLab 目录 创建一个用于存储 GitLab 数据和配置的目录࿱…...
原来CDC数据同步可以这么简单,零代码可视化一键数据同步
当前企业实时同步与分析场景中面临的挑战: 随着业务发展需要,实时分析成为企业目前的强需求,成为支撑企业业务发展的必须项。 一般来说,要满足数据实时分析的诉求,通常有两种方案: 第一种是直接使用源端…...
Ubuntu环境使用 Whisper 与 ZhipuAI 实现本地批量视频转录与文本标点复原(本地亲测可用)
使用 Whisper 与 ZhipuAI 实现批量视频转录与文本标点添加 在本篇博客中,我们将介绍一个实用的项目,帮助初学者了解如何使用 Whisper 和 ZhipuAI 的 API 来进行视频转录和文本处理。这个项目主要功能是将视频转录成文本,并利用大语言模型为转…...
SPI机制
一、SPI简介 SPI(Service Provider Interface)机制是一种服务发现机制,广泛用于Java生态中。它允许框架或库通过接口解耦具体实现,用户可以在运行时动态地提供接口的实现,而不是在编译时确定。这种机制在很多场景下非…...
生信分析流程:从数据准备到结果解释的完整指南
介绍 生物信息学(生信)分析是一个复杂的过程,涉及从数据准备到结果解释的多个步骤。随着高通量测序技术的发展和生物数据的迅猛增长,了解和掌握生信分析的标准流程变得尤为重要。这不仅有助于提高分析的准确性,还能优…...
golang语法
参考链接:https://www.runoob.com/go/ 创建变量 // 3种方法 var a int a : 10 // 类型推断 a : make() // 复合类型循环 // 3种循环 for i : 0; i < 10; i {// 循环体} // 传统for循环 for index, num : range nums {// 循环体} // nums是可迭代的复合类型…...
【fisco学习记录2】多群组搭建
说明 文档参考: 多群组部署 — FISCO BCOS 2.0 v2.11.0 文档 (fisco-bcos-documentation.readthedocs.io) 多群组搭建之前,先暂停之前的单群组,并删除: cd fisco bash nodes/127.0.0.1/stop_all.sh rm -rf nodes/ 实现图&…...
深度解读:路由交换、负载均衡与防火墙的网络交响
一、路由交换:网络流动的“大动脉” 1. 路由:决定命运的“路径规划师” 路由技术如同现代交通网络中的导航系统,决定了数据从起点到终点的最佳路径。路由器基于网络层IP地址,对每个数据包进行精确的路径选择,并确保其…...
linux线程 | 线程的控制(二)
前言: 本节内容是线程的控制部分的第二个小节。 主要是列出我们的线程控制部分的几个细节性问题以及我们的线程分离。这些都是需要大量的代码去进行实验的。所以, 准备好接受新知识的友友们请耐心观看。 现在开始我们的学习吧。 ps:本节内容适合了解线程…...
npm install报错一堆sass gyp ERR!
执行npm install ,出现一堆gyp含有sass错误的情况下。 解决办法: 首页可能是node版本问题,太高或者太低,也会导致npm install安装错误(不会自动生成node_modules文件),本次试验,刚开…...
微知-BlueField DPU在lspci中显示Flash Recovery是什么意思?
效果: lspci |grep BlueField10:00.0 Memory controller: Mellanox Technologies MT42822 Family [BlueField-2 SoC Flash Recovery] (rev 01)*原因: 表示此时flash是empty空的,或者在flash中的FW是无法工作的。比如烧录错误。 这里指的一提…...
【前端知识点】前端笔记
css 引入css文件的文件路径 <!-- 引入外部 CSS 文件 --> <!-- 当前文件所在文件夹目录 --> <link rel"stylesheet" href"./"> <!-- 当前文件所在父文件夹目录 --> <link rel"stylesheet" href"../">j…...
Sping Cache 使用详解
缓存是提升应用性能的常用手段。它通过将耗时的操作结果存储起来,下次请求可以直接从缓存中获取,从而避免重复计算或查询数据库,显著减少响应时间和服务器负载。Spring 框架提供了强大的缓存抽象 Spring Cache,它简化了缓存的使用…...
动手学深度学习60 机器翻译与数据集
1. 机器翻译与数据集 import os import torch from d2l import torch as d2l#save d2l.DATA_HUB[fra-eng] (d2l.DATA_URL fra-eng.zip,94646ad1522d915e7b0f9296181140edcf86a4f5)#save def read_data_nmt():"""载入“英语-法语”数据集"&qu…...
Python网络爬虫技术
Python网络爬虫技术详解 引言 网络爬虫(Web Crawler),又称网络蜘蛛(Web Spider)或网络机器人(Web Robot),是一种按照一定规则自动抓取互联网信息的程序或脚本。它们通过遍历网页链…...
黑马程序员-redis项目实践笔记1
目录 一、 基于Session实现登录 发送验证码 验证用户输入验证码 校验登录状态 Redis代替Session登录 发送验证码修改 验证用户输入验证码 登录拦截器的优化 二、 商铺查询缓存 缓存更新策略 数据库和缓存不一致解决方案 缓存更新策略的最佳实践方案 实现商铺缓…...
SVM支持向量机核函数选择避坑指南:从线性到RBF,如何根据你的数据特征做决定?
SVM核函数选择实战指南:从数据特征到模型调优的全流程解析 第一次在Scikit-learn中调用SVC类时,面对kernel参数下拉菜单里linear、poly、rbf、sigmoid四个选项,我盯着屏幕发了五分钟呆——这感觉就像走进一家高级餐厅,服务员递来一…...
Android开发职位深度解析与面试指南
引言 Android开发作为移动应用开发的核心领域,近年来随着智能手机的普及和技术的迭代,已成为IT行业的热门职业方向。本文基于一份典型的Android开发职位描述展开,深入探讨其核心技能要求、经验门槛、工具使用等关键要素。职位描述强调了对Flutter、多线程、Framework、Andr…...
GitHub访问加速终极指南:5分钟告别龟速访问的完整解决方案
GitHub访问加速终极指南:5分钟告别龟速访问的完整解决方案 【免费下载链接】fetch-github-hosts 🌏 同步github的hosts工具,支持多平台的图形化和命令行,内置客户端和服务端两种模式~ | Synchronize GitHub hosts tool, support m…...
Qwen-Rapid-AIO终极教程:8秒完成专业级AI图像编辑的完整指南
Qwen-Rapid-AIO终极教程:8秒完成专业级AI图像编辑的完整指南 【免费下载链接】Qwen-Image-Edit-Rapid-AIO 项目地址: https://ai.gitcode.com/hf_mirrors/Phr00t/Qwen-Image-Edit-Rapid-AIO 你是否曾经因为AI图像编辑工具操作复杂而头疼?是否厌倦…...
GLM-OCR开发者实操手册:Gradio client调用+批量图片识别脚本示例
GLM-OCR开发者实操手册:Gradio client调用批量图片识别脚本示例 你是不是也遇到过这样的场景:手头有一堆发票、合同或者产品说明书图片,需要把里面的文字、表格甚至公式都提取出来?一张张手动录入或者用传统OCR工具,不…...
JeecgBoot低代码开发平台终极实战指南:从零开始构建企业级应用
JeecgBoot低代码开发平台终极实战指南:从零开始构建企业级应用 【免费下载链接】jeecg-boot jeecgboot/jeecg-boot 是一个基于 Spring Boot 的 Java 框架,用于快速开发企业级应用。适合在 Java 应用开发中使用,提高开发效率和代码质量。特点是…...
Python异常处理最佳实践:从原理到实践
Python异常处理最佳实践:从原理到实践 1. 背景与动机 在Python编程中,异常处理是一个重要的编程实践。良好的异常处理可以使程序更加健壮,提高代码的可维护性和可读性。然而,许多开发者在处理异常时存在一些常见的问题,…...
Python 装饰器实战:用@syntax 优雅地增强函数功能
# Python 装饰器实战:用syntax 优雅地增强函数功能## 什么是装饰器?装饰器(Decorator)是 Python 中的一种高级特性,它允许你在不修改原函数代码的情况下,动态地给函数添加功能。简单来说,装饰器…...
别再纠结了!用SpringBoot实战告诉你,图片上传选FastDFS还是MinIO(附完整代码)
SpringBoot实战:FastDFS与MinIO文件存储方案深度对比与选型指南 在当今数据驱动的互联网应用中,文件存储系统如同数字世界的基础设施,支撑着从用户头像到高清视频的各种数据存取需求。作为Java开发者,当我们面对"选择困难症&…...
Shield CLI:MySQL 插件 vs phpMyAdmin:轻量 Web 数据库管理工具对比
phpMyAdmin 是 MySQL Web 管理的事实标准,1998 年发布至今,功能覆盖面极广。但在"查个数据、改个表、看看关系"这类日常场景下,它的部署成本和界面复杂度显得有些过重。Shield CLI MySQL 插件是一个 7MB 的单二进制 Web 客户端&…...
