用WAST来远程管理ASP.NET的user和role

相信大家在开发ASP.NET程序的时候都使用过ASP.NET Configuration这个菜单。点击这个菜单时,Visual Studio将会启动一个WebServer,进而有一个叫做ASP.NET Web Admin Tool的页面将会帮助你管理整个ASP.NET程序的user和role。比如新建用户,删除用户,新建角色,分配角色等等。有了这个Tool,我们可以非常方便的在开发时来管理membership和role。然而,当ASP.NET程序Publish到IIS上后,你是用什么来进行管理的呢?许多人会用开发自己的模块来进行管理,也有些人也会使用一些开源的模块来进行管理。然而功能性和稳定性都可能比.NET自带的管理工具(WAST)要差。我们知道在开发时通过Visual Studio使用WAST,但不知道怎样能直接使用这个模块。这篇随笔将和大家一起探讨怎样把这个强大的功能据为己有 :)

首先介绍一些基本的东东,如果你很熟悉了,那么请直接跳过吧。

当你安装.NET Framework时,在"C:\Windows\Microsoft.NET\Framework\v2.0.50727"目录下会自动创建一个名为ASP.NETWebAdminFiles的文件夹,里面就包含了一个Website,用来管理membership和role。当你使用VS时,VS会启动一个新的WebServer,在WebServer中来启动这个Website。同时请注意,访问这个Website时需要附加两个query string - applicationPhysicalPath(application的物理路径)以及applicationUrl(application在IIS中的目录),如:

http://localhost/ASP.NETWebAdminFiles/default.aspx?applicationPhysicalPath=C:\inetpub\wwwroot\Job\&applicationUrl=/Job

而且,WAST在默认情况下是不允许进行远程访问的。如:http://serverIP/blabla

好了,在介绍了一些关于WAST的注意点后,我们就可以在我们自己的ASP.NET程序中来使用它了。以下主要介绍两种情形:

1) 在IIS server上进行membership和role管理。

2) 在外网中进行访问。

第一种情形其实不难,只需要简单的两步:

1) 为了使用WAST,我们可以将其publish在default站点的一个application中,application指向WAST的原目录或copy后的目录。然后为了只能通过本地访问,我们将其设置为windows集成验证(需要disable匿名验证)。同时请注意,为WAST指定的application pool的identity需要有读写application数据库文件的权限,比如App_Data目录下的database file。否则便会有access denied的错误了。

2) 将我们的ASP.NET程序也publish在default站点的另一个application中,并在某页面中增加一个访问WAST的link,link的URL就是我们刚才给出的示例。或者你也可以直接在IE中使用那个link来访问。

现在我们便可以在本地IIS上使用WAST了。但是你仍然不能通过 http://serverIP/blabla 来进行远程访问。以上仅仅是从admin的角度在IIS server上来维护自己的站点。如果你需要从外部来访问WAST,你需要修改它的源码,使得我们可以通过 http://serverIP/blabla 来访问(修改之前请做好备份:))。

第二种情形:

1) 打开WAST的web.config文件,删除impersonate以及authorization的定义,并将Windows验证修改为Forms验证,因为我们需要从外部来访问了。

2) 打开WAST的App_Code文件夹下WebAdminPage.cs文件,Ctrl+F搜索到if (!application.Context.Request.IsLocal),并将其改为if (false)。

3) 将WAST部署在IIS的一个application中,并设置其为Forms验证。同时仍然需要注意,为WAST指定的application pool的identity需要有读写application数据库文件的权限,比如App_Data目录下的database file。否则便会有access denied的错误了。

4) 在IIS的另一个application中部署ASP.NET 程序。

5) 现在最主要的问题就是WAST没有身份验证,任何匿名用户都可以通过 http://serverIP/blabla 来访问。在Forms验证的程序下,解决这个问题不难,大家可以自己去尝试。

6) 现在可以去测试下是不是OK了。

时间: 2024-12-08 17:51:58

用WAST来远程管理ASP.NET的user和role的相关文章

asp中利用xmlhttp实现远程管理数据库

xml|数据|数据库 A Review of Remote Database Administer几年之前, CGI-BIN 模块被用作远程管理数据库.现在, CGI-BIN 用得越来越少了,原因是它运行速度很慢,而且难于维护. 近几年,组件对象模型 (COM) 得到了广泛的运用,不幸的是,在虚拟主机上注册 COM 组件是一件很麻烦的事. 在 .NET 或 J2EE 平台上, 我们可以很方便地开发n层结构的 Web 应用程序.但是对于网站来说,我们有更方便的方法远程管理数据库,例如:运用 XML

配置Quartz.net Cluster以及远程管理

这个例子我们介绍的是使用SQL ServerQuartz.net (version 2.0.2) cluster和crystal-quartz 实现远程管理. 我们需要一个SQLServer数据库,Quartz.net 将所有的job details 和triggers 保存到这个数据库,使用Quartz.NET提供的数据库脚本Quartz.net database schema creation script. 下面我使用crystal-quartz,用它的CrystalQuartz.Exam

灰鸽子远程管理软件[VIP 2007] Beta1_常用工具

1.VIP2007综合了现有的三个版本优点(VIP2006/1.23/2.03)2.安装文件从VIP2006的三个减小到2个,一个EXE和一个DLL文件.3.现在可以支持多操作,如同时下载,上传不会阻塞其它操作. 可查看多台机器视频和屏幕等.4.配置选项的增加,进程插入类选择,改善了捕获屏幕的速度等.5.其它改进. [1]对远程计算机文件管理:模枋 Windows 资源管理器,可以对文件进行复制.粘贴.删除,重命名.远程运行等,可以上传下载文件(夹),智能断点续传,文件数据加密传输安全简单易用.

Windows 8.1 IIS 8.5 远程管理 Windows 2008 R2 IIS 7.0

案例: Windows 8.1 x64 IIS 8.5 inetmgr_amd64_v1.1_en-US.msi Windows 2008 R2  x64 IIS  7.0 在Win8.1 通过IIS8.5 远程管理 Win2008R2 IIS7.0, 1. 在Win8.1中安装 inetmgr_amd64_v1.1_en-US.msi,直接安装不了修改inetmgr_amd64_v1.1_en-US.msi属性中的兼容模式即可. 2.在Win2008R2 IIS7.0的"功能视图"最

图文详解远程部署ASP.NET MVC 5项目

原文:图文详解远程部署ASP.NET MVC 5项目 话外篇:        由于感觉自己的机器比较慢,配置不好,所以最近想把之前的项目部署到实验室的服务器上,但是由于常不在实验室,所以在想能不能远程部署.因此今天专门研究了一下具体的过程,下面和大家分享一下.本人新手,还望大虾勿喷,有什么问题,还望高手指点. 一.本文实验环境:       Windows Server 2012 R2       SQL Server 2012 Express      Visual Studio 2013  

怎么使用TP-LINK ID远程管理云路由器

  使用TP-LINK ID远程管理云路由器步骤一.路由器上登陆tp-link id 手机管理路由器,需要使用手机APP,请在手机上下载TP-LINK云路由器的管理APP,您可以扫描二维码进入下载页面 注意iOS系统需要跳转到苹果APP Store下载. 远程管理路由器,则必须要在云路由器上登录TP-LINK ID.如果您已创建TP-LINK ID,请输入该ID号和密码直接登陆.您也可以创建免费的TP-LINK ID,如下 如何创建TP-LINK ID? 使用TP-LINK ID远程管理云路由器

用Web UI远程管理Win2003

Web UI是从Windows 2000就开始集成的Web远程管理服务.通过该服务,网络管理员在客户端通过IE浏览器就可以对服务器的常用服务(如FTP.Web服务等)和常用功能(如管理用户和组)进行管理.我们下面以Windows Server 2003为例,谈谈该服务的使用方法. 安装Web UI远程管理 IIS6.0的默认安装方式并不会安装Web远程管理,需要我们手动安装.安装方法简述如下: 在"控制面板"中打开"添加和删除程序"对话框,然后点击对话框左边的[添加

端口碰撞技术是远程管理的好方式

端口碰撞技术(Port knocking): 从安全管理的角度来说,开启的服务端口越多,就越不安全,有道是"明枪易躲,暗箭难防",因此"系统安全加固服务"中,最常用的方式,就是先关闭无用端口,再对提供服务的端口做访问控制.而作为远程管理与维护的人员通常需要开启一些服务端口,如FTP和SSH,这些服务使用大家熟悉的一些端口,长时间开启这些端口,往往是"严重"的安全隐患.所以能在"需要"的时候才开启服务,并只对特定的人提供服务,服

解决Windows Vista无法远程管理的问题

微软操作系统中的远程管理功能可以给用户带来很大方便,但是安装了vista系统的用户也许会发现自 己根本无法进行远程管理,具体表现为Telnet命令无法被使用.难道是微软将远程管理功能抛弃了吗?答 案是否定的. Vista无法使用Telnet命令进行远程管理是由于系统默认设置中没有开启.知道了原因,解决起来就很 简单了. 打开控制面板(在经典视图模式下),双击其中的"程序和功能",在弹出的对话框左上角部分点击 "打开或者关闭Windows功能"(如图1). 图1 点击