WSE用户认证的问题!让我痛苦了几天了,帮帮我吧。。。

问题描述

小弟最近学WebService+WSE,一旦准备确认却window用户角色、调用Authorize()的时候就出现这样的报错:<faultstring>System.Web.Services.Protocols.SoapException:服务器无法处理请求。---&gt;System.NullReferenceException:未将对象引用设置到对象的实例。在Service.Authorize(Stringrole)位置f:InvoiceManagerInvoiceManagerServerApp_CodeService.cs:行号35在Service.ViewAllApplication()位置f:InvoiceManagerInvoiceManagerServerApp_CodeService.cs:行号50---内部异常堆栈跟踪的结尾---</faultstring>请各位大哥帮忙解决啊,谢谢了publicvoidAuthorize(stringrole){IPrincipalp=RequestSoapContext.Current.Credentials.UltimateReceiver.GetClientToken<UsernameToken>().Principal;if(null!=p&&p.IsInRole(role)){return;}else{thrownewSoapException("Aceessdenied.",newSystem.Xml.XmlQualifiedName("Authorization"));}}[WebMethod]publicConsumeRecord[]ViewAllApplication(){Authorize("Viewer");returnthis.SearchAllConsumeRecord();}

解决方案

解决方案二:
RequestSoapContext.Current.Credentials.UltimateReceiver.GetClientToken都不检查一下值是否是Null就取成员
解决方案三:
引用1楼jiangsheng的回复:

RequestSoapContext.Current.Credentials.UltimateReceiver.GetClientToken都不检查一下值是否是Null就取成员

解决方案四:
RequestSoapContext.Current.Credentials.UltimateReceiver.GetClientToken都不检查一下值是否是Null就取成员高手出山啦学习学习。
解决方案五:
支持搂主,收藏
解决方案六:
该回复于2008-05-11 15:10:26被版主删除
解决方案七:
帮顶下!
解决方案八:
过来学习的!
解决方案九:
该回复于2008-05-07 10:42:02被版主删除
解决方案十:
该回复于2008-05-11 11:49:44被版主删除

时间: 2024-09-15 00:19:27

WSE用户认证的问题!让我痛苦了几天了,帮帮我吧。。。的相关文章

为Qmail增加smtp用户认证功能

本文介绍如何让 qmail 增加 smtpd-auth 功能. 软件需求 系统版本:RedHat6.2 必需软件:1.qmail-1.03 (www.qmail.org) qmail的主要程序包 2.checkpassword (cr.yp.to/checkpwd.html) 让qmail使用系统用户认证的密码认证包或vpopmail (www.inter7.com/vpopmail) 让qmail支持mysql和虚拟主机用户认证的密码验证包 3.qmail-smtpd.c (www.nimh.

Apache服务器的用户认证(1)

apache|服务器 经常上网的读者会遇到这种情况:访问一些网站的某些资源时,浏览器弹出一个对话框,要求输入用户名和密码来获取对资源的访问.这就是用户认证的一种技术.用户认证是保护网络系统资源的第一道防线,它控制着所有登录并检查访问用户的合法性,其目标是仅让合法用户以合法的权限访问网络系统的资源.基本的用户认证技术是"用户名+密码". Apache是目前流行的Web服务器,可运行在Linux.Unix.Windows等操作系统下,它可以很好地解决"用户名+密码"的认

Apache服务器的用户认证(3)

apache|服务器 目前,Apache.PHP4.MySQL三者是Linux下构建Web网站的最佳搭档,这三个软件都是免费软件.将三者结合起来,通过HTTP协议,利用PHP4和MySQL,实现Apache的用户认证功能. PHP4以Apache的模块方式来运行的时候才能进行用户认证.为此,在编译Apache时需要加入PHP4模块一起编译.假设PHP4作为Apache的模块,编译.安装Apache到/usr/local/apache目录,编译.安装MySQL到/usr/local/mysql目录

Apache服务器的用户认证 (转)

apache|服务器 经常上网的读者会遇到这种情况:访问一些网站的某些资源时,浏览器弹出一个对话框,要求输入用户名和密码来获取对资源的访问.这就是用户认证的一种技术.用户认证是保护网络系统资源的第一道防线,它控制着所有登录并检查访问用户的合法性,其目标是仅让合法用户以合法的权限访问网络系统的资源.基本的用户认证技术是"用户名+密码". Apache是目前流行的Web服务器,可运行在Linux.Unix.Windows等操作系统下,它可以很好地解决"用户名+密码"的认

PHP脚本的10个技巧(转自ZDNet) --采用PHP的用户认证

技巧|脚本 采用PHP的用户认证 如果你希望在每一个脚本的基础上实现口令保护功能,那么你可以联合使用header()函数和$PHP_AUTH_USER.$PHP_AUTH_PW全局变量来创造一个基本的认证方案.通常的.基于服务器的认证请求/响应回合很象下面这个样子: 1.用户向一台Web服务器请求一个文件.如果文件在一个受到保护的区域以内,服务器就在响应的文件头内加上401(非法用户)字符串作为回应. 2.浏览器看见该响应之后就弹出用户名/口令对话框. 3.用户在对话框中输入用户名和口令,然后单

Apache用户认证方法汇总 (转载)

apache Apache用户认证方法汇总 一.基本的Apache用户认证方法: 若对某一目录下的文件如/home/ftp/pub需要做到用户认证,则在httpd.conf中加入下面的行 <> options indexes followsymlinks allowoverride authconfig order allow,deny allow from all <> 用在目录/home/ftp/pub下放文件.htaccess,内容如下: authname "sha

Apache服务器的用户认证

apache|服务器 作者:徐辉 经常上网的读者会遇到这种情况:访问一些网站的某些资源时,浏览器弹出一个对话框,要求输入用户名和密码来获取对资源的访问.这就是用户认证的一种技术.用户认证是保护网络系统资源的第一道防线,它控制着所有登录并检查访问用户的合法性,其目标是仅让合法用户以合法的权限访问网络系统的资源.基本的用户认证技术是"用户名+密码". Apache是目前流行的Web服务器,可运行在Linux.Unix.Windows等操作系统下,它可以很好地解决"用户名+密码&q

Apache服务器攻略 用户认证简单配置方案集

Apache是目前流行的Web服务器,可运行在linux.Unix.Windows等操作系统下,它可以很好地解决"用户名+密码"的认证问题.Apache用户认证所需要的用户名和密码有两种不同的存贮方式:一种是文本文件:另一种是MSQL. Oracle.MySQL等数据库.下面以Linux的Apache为例,就这两种存贮方式,同时能对Windows的 Apache用户认证作简要的说明.下面我们来介绍下通过文本认证而实现的方式. 建立用户的认证授权需要三个步骤: 1.建立用户库 2.配置服

用户认证管理设计方案

设计 用户认证管理设计方案 1 设计思路 为了设计一套具有较强可扩展性的用户认证管理,需要建立用户.角色和权限等数据库表,并且建立之间的关系,具体实现如下.1.1 用户用户仅仅是纯粹的用户,用来记录用户相关信息,如用户名.密码等,权限是被分离出去了的.用户(User)要拥有对某种资源的权限,必须通过角色(Role)去关联. 用户通常具有以下属性: ü         编号,在系统中唯一. ü         名称,在系统中唯一. ü         用户口令. ü         注释,描述用户