首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用IIS的基本身份验证获取WCF服务中的用户名

使用IIS的基本身份验证获取WCF服务中的用户名是指在WCF服务中,通过IIS的基本身份验证来获取客户端的用户名和密码。这种方式可以确保只有经过验证的用户才能访问WCF服务。

以下是一些关键步骤:

  1. 在IIS中启用基本身份验证:在IIS管理器中,选择WCF服务所在的网站,然后在右侧的“功能视图”中选择“身份验证”。在“身份验证”页面中,启用“基本身份验证”,并将其设置为“必需”。public class MyServiceAuthorizationManager : ServiceAuthorizationManager { protected override bool CheckAccessCore(OperationContext operationContext) { // 获取客户端的用户名和密码 string username = operationContext.ServiceSecurityContext.PrimaryIdentity.Name; string password = operationContext.ServiceSecurityContext.PrimaryIdentity.Password; // 在这里可以进行身份验证和授权的逻辑处理 // ... return true; } } <services> <service name="MyService"> <endpoint address="http://localhost/MyService.svc" binding="basicHttpBinding" contract="IMyService" /> </service> </services> <behaviors> <serviceBehaviors> <behavior> <serviceAuthorization serviceAuthorizationManagerType="MyNamespace.MyServiceAuthorizationManager, MyAssembly" /> </behavior> </serviceBehaviors> </behaviors> </system.serviceModel>在这个配置文件中,serviceAuthorizationManagerType属性指定了ServiceAuthorizationManager的实现类。
  2. 在WCF服务中使用ServiceAuthorizationManager来获取用户名:ServiceAuthorizationManager是一个用于授权的基类,可以通过重写其中的CheckAccess方法来获取客户端的用户名和密码。以下是一个示例代码:
  3. 将ServiceAuthorizationManager应用于WCF服务:在WCF服务的配置文件中,将ServiceAuthorizationManager的实现类指定为服务的授权管理器。以下是一个示例配置文件:

通过以上步骤,可以在WCF服务中使用IIS的基本身份验证来获取客户端的用户名和密码。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

WCFIIS集成Windows身份验证矛盾

分享一个关于WCF小技巧,由于项目中 很多地方用了Jquery+WCF来实现Ajax异步获取数据,在开发环境下: 直接在vs.net里,右击svc文件在浏览器里浏览时(没有采用vs.net自带aspx...服务器,而是在项目属性里设置为直接使用IIS),提示以下错误: IIS 指定了身份验证方案“IntegratedWindowsAuthentication, Anonymous”,但绑定仅支持一种身份验证规范...有效身份验证方案为摘要、协商、NTLM、基本或匿名。请更改 IIS 设置,以便仅使用单一身份验证方案。...错误提示说得很明白:IIS要么采用集成验证,要么仅使用匿名验证,于是把IIS设置里集成验证勾选去掉了,IIS重启后,这回运行正常了,但是VS.Net却无法断点调试了(启用调试必须采用集成验证),难道这就是传说中...不甘心之下,在iiswebsite站点中,对svc所在目录右击看了一下,呵呵,找到解决办法了,IIS可以允许单独对每个目录(或虚拟目录)设置目录安全性,于是把svc所在目录(整个项目中所有wcf

99850

使用WCF进行跨平台开发之二(IIS托管WCF服务使用php平台调用)1.系统必备2.在IIS托管WCF服务3.使用PHP调用托管在IISWCF服务

上一篇使用控制台托管了WCF服务,但是如果想从PHP和java平台调用,必须将其托管到IIS(并不是必须,还是有其他方式 比如windows azure) 1.系统必备      首先,必须打开...2.在IIS托管WCF服务      在IIS默认网站添加应用程序emp,并在高级设置,设置应用程序池为“ASP.NET v4.0”,并设置默认网站右键--编辑版定,在http类型编辑IP地址和主机名...在新建虚拟目录对应实际目录,添加web.config文件,配置wcf服务和终结点,并打开元数据公开,然而,因为这里不是使用常用svc文件托管服务,所以需要serviceActivations节点配置服务...3.使用PHP调用托管在IISWCF服务 在PHP服务打开浏览器,并浏览http://192.168.11.1/emp/EmployeeManagement.svc测试服务是否托管正常。 ?...出现以上页面,证明在IIS托管正常,现在,可以使用php开发程序调用此服务啦。

2K70

IIS Windows 集成身份验证弹出输入用户名密码解决办法

如果您正在设置您IIS身份验证方式为“ Windows 集成身份验证 ”,并且您在使用IE访问您站点时发现IE仍然要求您输入您用户名和密码,而且您又不知道问题出在哪里,那么下面文章将对您有所帮助。...根据我们理解“ Windows 集成身份验证 ”意味着IE会自动使用当前系统登录账户证明访问IE站点,这里面的原理在微软官方解释是通过Kerberos(如果您对此不是很了解可以参照另一篇文章:http...但是理论和我们亲身验证结果并不一样,您遇到情况也许和我下面遇到情形类似: 首先我建好IIS站点,并设置身份验证方式为“Windows 集成身份验证”。...4.png 但是我本意并不是这样(我是使用域账户登陆,并且我在IIS上没有设置对该账户任何禁止权限),除非我没有使用有权限域账户进行登录,我希望IE不要提示我再一次输入我用户名和密码。...5.png 然后重启IE,重新访问该网址 6.png 我直接就进来了,但是这一切都是建立在我客户端计算机已经加入域,并且我使用域账户登录,且我计算机处在可以和域控制器联系内网环境

2.5K70

WCF技术剖析之四:基于IISWCF服务寄宿(Hosting)实现揭秘

通过《再谈IIS与ASP.NET管道》介绍,相信读者已经对IIS和ASP.NET请求处理管道有了一个大致了解,在此基础上去理解基于IIS服务寄宿实现机制就显得相对容易了。...我们可以通过一种简单方式来证明这一点。 假设我们有一个WCF服务需要通过IIS进行寄宿,并把WCF服务相应.svc文件定义在一个对应于某个IIS虚拟目录ASP.NET Website。...二、ASP.NET并行(Side by Side)模式 对于基于IIS服务寄宿,System.ServiceModel.Activation.HttpModule将基于.svc请求劫持并分发给WCF服务模型...这主要是因为WCF和.asmx Web Service有本质区别:Web Service总是采用IIS寄宿,并使用HTTP作为传输,而WCF则具有不同寄宿方式,对于传输协议选择也没有限制。...比如,在WCF Service操作,需要获取ASP.NET应用SessionState,或者是需要通过基于.svc文件ACL对WCF Service进行授权等。

1.2K100

IIS Windows 集成身份验证弹出输入用户名密码解决办法

如果您正在设置您IIS身份验证方式为“ Windows 集成身份验证 ”,并且您在使用IE访问您站点时发现IE仍然要求您输入您用户名和密码,而且您又不知道问题出在哪里,那么下面文章将对您有所帮助。...根据我们理解“ Windows 集成身份验证 ”意味着IE会自动使用当前系统登录账户证明访问IE站点,这里面的原理在微软官方解释是通过Kerberos(如果您对此不是很了解可以参照另一篇文章:http...但是理论和我们亲身验证结果并不一样,您遇到情况也许和我下面遇到情形类似: 首先我建好IIS站点,并设置身份验证方式为“Windows 集成身份验证”。...4.png 但是我本意并不是这样(我是使用域账户登陆,并且我在IIS上没有设置对该账户任何禁止权限),除非我没有使用有权限域账户进行登录,我希望IE不要提示我再一次输入我用户名和密码。...5.png 然后重启IE,重新访问该网址 6.png 我直接就进来了,但是这一切都是建立在我客户端计算机已经加入域,并且我使用域账户登录,且我计算机处在可以和域控制器联系内网环境

2.8K130

使用netTcp绑定WCF服务寄宿到IIS7上全记录

摘要 在项目开发,我们可能会适时选择http或者tcp绑定wcf服务,可以使用控制台来托管服务,也可以使用IIS来承载服务,由于IIS本身对于请求和异常处理能力,使得我们可以省去很多开发精力而成为托管服务首选...,之前我做WCF服务时托管在控制台,今天摸索了一下采用tcp绑定wcf托管到IIS7过程,分享一下,希望能帮助到想移植服务IIS朋友。...实例 依然是以一个服务作为例子展开,我们新建一个WCF Application,默认有一个简单服务Service1.svc,   代码 [ServiceContract]  public interface...在创建虚拟目录时也许VS会提示需要安装IIS6一些组件,那么我们按照提示打开”windows更新安装“ 要将WCFtcp绑定方式服务host在IIS上,首先你需要启用这个功能 ?...在vs2010再浏览一下服务http://localhost/WCFService/Service1.svc,发现已经OK了 ? 于是,我们可以正常引用并使用这个服务了 ?

80720

WCF 4.5:配置文件更小,对ASP.NET支持更好

对于那些直接使用WSDL的人,也有好消息。WCF 4.5现在会在单独请求返回完整WSDL。而之前,它只会包括部分WSDL,还需要获取一系列匹配XSD文件。想要使用这种方法,你需要使用?...尽管把WCF部署在Windows服务是完全可以接受,但是大多数开发者会在工作中继续使用IIS。为什么不呢,IIS提供了对很多特性内建支持,像身份验证、状态管理以及过程回收等。...但是在这个模型还有一些微软正在努力解决限制。例如,当前开发者需要在两个地方配置哪种身份验证方式能够得到支持。如果他们意外忘记了sync,那么服务就会停止运行。...如果IIS正好启用了多种身份验证类型,那么客户端只会承认第一个。客户端开发者可以对其重写以使用另一种类型,但前提是他们可以找到另一种方式。请注意这完全是客户端工具问题,WSDL会列出所有选项。...Ori认为, 当你把WCF服务部署在IIS时,即便你不使用ASP.NET兼容模式,也会占用一些ASP.NET管道,这在MSDN文章《WCF 服务和ASP.NET》中有记录(你需要查找关于PostAuthenticateRequest

88250

iisASP运行环境配置图解 IIS安装和基本设置

现在服务器上asp运行环境基本上都是用win2003或win2008,当然也有winxp但iis版本是5.1,大家可以根据需要选择如果为了方便与简单测试可以用简易asp运行环境,可以到/百度搜索下载...这里以win2003 iis6安装配置为主 如果您电脑没有安装iis那么需要安装,iis6.0安装文件可以到//百度搜索下载。 好,我们开始我们asp征程第一步。任何动态语言都需要服务支持。...这里牵涉到两个概念,一是服务器,还有一个就是与之对应客户端。从字面上我们就能看出,服务器当然是提供服务机器,也就是提供asp动态网站服务机器;而客户端,就是客户用来浏览我们asp动态网站机器。...(第一次阐述概念,我认为只要易懂而又不误导大家就好了,没必要大费口水)asp运行环境很简单,只要装上iis(internet information service,因特网信息服务,是系统一种组件,...,就会弹出windows组件对话框,选中internet 信息服务(iis),单击图四详细信息偷看一下:  6、然后就是微软传统傻瓜式安装了),就是一直点下一步,然后就安装完成了,恭喜你~!

5.2K00

【翻译】WCF4.5:更少配置和ASP.NET更好支持

singleWsdl可以使用这个改进 把WCF服务寄宿到系统服务内是完全可行。但大多数开发人员继续在IIS下完成大量工作。为什么呢?...因为IIS提供了很多内置支持功能,比如身份验证,状态管理和进程回收等。但在IIS下开发WCF服务仍然有一些限制,微软也正在解决这些问题。...WCF4.5通过允许服务IIS方式来进行身份认证(设置身份认证方式为“继承自宿主InheritedFromHost”)除掉了此类型BUG 不幸是这只是一个局部修复,如果IIS激活了多个身份验证类型...当然客户端开发人员会找到另一种方法解决这个问题:他们可以使用另一种类型重写这个身份验证类型。...另一个bug是关于WCF传输流数据,Ido Flatow: 当你把WCF服务寄宿在IIS上时,即使你没有使用asp.net兼容模式,你也一样会得到asp.net处理管线一部分。

55220

WCF技术剖析之三:如何进行基于非HTTPIIS服务寄宿

图1 IIS 7总体架构 由于IIS 7提供了基于非HTTP网络协议监听支持,那么就意味着当我们当我们通过IIS进行WCF服务寄宿(Hosting)时候,可以采用非HTTP通信方式。...在本篇文章,我们将通过一个简单实例介绍进行非HTTPIIS服务寄宿,Source Code下载WasHostingDemo.zip。...在本实例,我们通过IIS 7实现基于TCP服务寄宿,图2表示实例应用在VS2008种解决方案结构。...图2 基于TCPIIS服务寄宿实例在VS2008解决方案结构 步骤一:定义服务契约和服务 本实例仍然采用我们熟悉计算服务例子,在Contracts项目下,定义了接口ICalculator代表计算服务服务契约...HTTP协议IIS寄宿服务客户端来说,和普通WCF服务调用完全一样,下面是服务调用代码和相关配置。

68860

WCF技术剖析之二十: 服务WCF体系是如何被描述?

任何一个程序都需要运行于一个确定进程,进程是一个容器,其中包含程序实例运行所需资源。同理,一个WCF服务监听与执行同样需要通过一个进程来承载。...另一种则是通过操作系统现有的进程激活方式为WCF服务提过宿主,Windows下进程激活手段包括IIS、Windows Service或者WAS(Windows Process Activation Service...无论采用哪种寄宿方式,在为某个服务创建ServiceHost过程WCF框架内部会执行一系列操作,其中最重要步骤就是为服务创建服务描述(Service Description)。...除了包含WCF服务一些基本信息,比如服务名称、命名空间和CLR类型等,ServiceDescription还包含服务所有终结点和服务行为描述。...IContractBehavior具有与IEndpointBehavior一样方法成员,但是契约行为作用于实现了该服务契约所有服务服务端行为),基于使用服务契约进行服务调用服务代理(客户端行为

96160

WCF技术剖析之二:再谈IIS与ASP.NET管道

在写作《WCF深入剖析》,为了剖析基于IISWCF服务寄宿(Hosting),再次对相关内容进行了研究,在这里一并与大家分享。...不过W3SVC基本功能并没有发生变化,只是在功能实现上作了相应改进。与IIS 5.x一样,元数据库(Metabase)依然存在于InetInfo.exe进程。 ?...图3为上述4个Windows Service在服务控制管理器(SCM)呈现。 ?...基本配置存放在applicationHost.cofig。 ?...将ASP.NET提供一些强大功能应用到原来难以企及地方,比如将ASP.NETURL重写功能置于身份验证之前; 采用相同方式去实现、配置、检测和支持一些服务器特性(Feature),比如Module

1.5K110

WCF服务部署到IIS上,然后通过web服务引用方式出现错误解决办法

本文转载:http://www.cnblogs.com/shenba/archive/2012/01/06/2313932.html 昨天在用IIS部署一个WCF服务时,碰到了如下错误: 理解了文档内容...如果该服务已在当前解决方案定义,请尝试生成该解决方案,然后再次添加服务引用。 该错误是在使用svcutil生成client代码时报错误,服务是部署在IIS7上,部署过程都是完全教科书式进行。...具体可参考:http://merill.net/2008/04/wcf-add-service-reference-gotcha-with-windows-server/  WCF服务部署到IIS上,然后通过...web服务引用方式出现错误解决办法;如果wcf服务没有托管在IIS上,只是在本地浏览方式托管后通过web服务引用方式是没有这样问题。...问题描述是这样。 1、通过vs自带wcf服务DEMO,发布到IIS 上去时候,通过web服务引用时候出错。 ?

1.4K10

WCF 4.0动态发现服务WS-Discovery

WCF 3/3.5 ,当我们要调用一个服务时,必须事先知道该服务地址,然后通过服务代理用双方约定好契约与远程服务进行交互。...现在,WCF 4.0提供了发现服务支持,当我们再想调用一个服务时,没必要去知道该服务具体地址,WCF 4.0实现了OASISWS-Discovery标准,相关类定义在System.ServiceModel.Discovery...只需要利用 System.ServiceModel.Discovery 命名空间下相关类就可以实现两种方式动态发现服务: Ad hoc Mode:简单理解,就是服务启动时就向网络广播Hello消息,...Managed Mode:简单理解,就是所有服务事先在一个叫 Discovery Proxy 地方登记,然后所有调用方发送查找请求给 Discovery Proxy 来查找并调用相关服务模式。...WCF 4.0要动态发现服务,用 Ad hoc Mode 实现起来还是比较简单

93650

微软 WCF几种寄宿方式,寄宿IIS、寄宿winform、寄宿控制台、寄宿Windows服务

WCF寄宿方式是一种非常灵活操作,可以在IIS服务、Windows服务、Winform程序、控制台程序中进行寄宿,从而实现WCF服务运行,为调用者方便、高效提供服务调用。...1、 WCF服务IIS服务寄宿 我在我前面几篇WCF开发框架介绍文章,介绍过了WCF常用一种寄宿方式,IIS服务寄宿。...这种寄宿方式是最为方便方式,而且由于服务只需要IIS运行就能自动运行起来,因此广为使用。 创建这种方式IIS寄宿方式,只需要在解决方案里面,添加WCF服务应用程序,就可以生成这种服务模块了。...此项目模板应该是基于IIS托管程序。 前者一般考虑WCF服务设计时候,服务定义为单独库,可以为其它项目使用。提高代码复用性。...后者在开发基于IIS托管WCF服务程序时,比较多见,自学时候也可以使用这种类型。当然你也可以修改这些代码,比如把WCF服务程序里类,移到一个单独类库里。

1.6K40

WCF技术剖析之二:再谈IIS与ASP.NET管道

在写作《WCF深入剖析》,为了剖析基于IISWCF服务寄宿(Hosting),再次对相关内容进行了研究,在这里一并与大家分享。...不过W3SVC基本功能并没有发生变化,只是在功能实现上作了相应改进。与IIS 5.x一样,元数据库(Metabase)依然存在于InetInfo.exe进程。 ?...图3为上述4个Windows Service在服务控制管理器(SCM)呈现。 ?...基本配置存放在applicationHost.cofig。 ?...将ASP.NET提供一些强大功能应用到原来难以企及地方,比如将ASP.NETURL重写功能置于身份验证之前; 采用相同方式去实现、配置、检测和支持一些服务器特性(Feature),比如Module

1.2K41

git 基本使用()

git基本操作 新建代码仓库 # 在当前目录新建一个Git代码库 $ git init # 新建一个目录,将其初始化为Git代码库 $ git init [project-name] # 下载一个项目和它整个代码历史...stage,也就是加入到index 提交变更:commit提交是暂存区改动,而不是物理文件目前改动,提交到当前分支,默认是master # 提交暂存区到仓库区 $ git commit -m...合为一步 $ git commit -am 'message' # 使用一次新commit,替代上一次提交 # 如果代码没有任何新变化,则用来改写上一次commit提交信息 $ git commit...] [url] # 取回远程仓库变化,并与本地分支合并 $ git pull [remote] [branch] # 上传本地指定分支到远程仓库 # -u 第一次远程推送时候加上,以后就可以不使用...,这些信息保存在.git/config文件[remote "origin"]端

50410
领券