首页 > 网站 > 建站经验 > 正文

关于网站应用程序池的帐号密码更改及其影响的实例分析

2019-11-02 16:09:17
字体:
来源:转载
供稿:网友
实例场景我们有一个网站(名称为test),它使用了一个应用程序池(名称也为test)

image

这个应用程序池所使用的用户帐号为app_pool_test

image

这个帐号当前的密码,假设为 abc 。当我设置好之后,我可以正常打开网站

image

这个演示页面的功能很简单,我是使用下面的代码去访问了一下数据库

复制代码 代码如下:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Data.SqlClient;

namespace WebApplication1

{

public partial class _default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

using(var conn = new SqlConnection("server=(local)//sqlexpress;database=northwind;integrated security=true"))

{

conn.Open();

Response.Write(conn.State.ToString());

}

}

}

}

请注意,这里我并没有指定用户名和密码,而是使用了integrated security=true。这通常称为“信任连接”或者“集成验证”。这个问题,我下面还会解释。

 

大家可以看到,网站能正常工作。功能没有什么了不起的,这是一个简单的演示而已。但是下面大家思考一个问题:

假设app_pool_test 这个帐号的密码因为什么原因需要修改(这个很正常,很多公司都有密码修改策略的),那么

1.网站还是否能正常打开?

2.数据库还是否能访问?

 

我这里就做一个测试,我现在将帐号的密码修改掉

image

奇怪的是,我们会发现网站照样能打开,数据库居然也照样能访问得上。

image

首先,这里你应该会有一个疑问:这是为什么呢?难道改了密码没有生效吗?到底什么时候会生效呢?

我们接下去做实验。假使当前这个服务器,因为某种原因(例如安装补丁包),需要重新启动。或者你自己因为某个原因,需要对IIS进行重启,例如执行了下面的命令

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表