WSE用户认证的问题!让我痛苦了几天了,帮帮我吧。。。
小弟最近学Web Service+WSE,一旦准备确认却window用户角色、调用Authorize()的时候就出现这样的报错:<faultstring>System.Web.Services.Protocols.SoapException: 服务器无法处理请求。 ---> System.NullReferenceException: 未将对象引用设置到对象的实例。
在 Service.Authorize(String role) 位置 f:\InvoiceManager\InvoiceManagerServer\App_Code\Service.cs:行号 35
在 Service.ViewAllApplication() 位置 f:\InvoiceManager\InvoiceManagerServer\App_Code\Service.cs:行号 50
--- 内部异常堆栈跟踪的结尾 --- </faultstring>
请各位大哥帮忙解决啊,谢谢了
public void Authorize(string role)
{
IPrincipal p = RequestSoapContext.Current.Credentials.UltimateReceiver.GetClientToken <UsernameToken>().Principal;
if (null != p&&p.IsInRole(role))
{
return;
}
else
{
throw new SoapException("Aceess denied.", new System.Xml.XmlQualifiedName("Authorization"));
}
}
[WebMethod]
public ConsumeRecord[] ViewAllApplication( )
{
Authorize("Viewer");
return this.SearchAllConsumeRecord();
} --------------------编程问答-------------------- RequestSoapContext.Current.Credentials.UltimateReceiver.GetClientToken
都不检查一下值是否是Null就取成员 --------------------编程问答-------------------- --------------------编程问答-------------------- RequestSoapContext.Current.Credentials.UltimateReceiver.GetClientToken
都不检查一下值是否是Null就取成员
高手出山啦
学习学习。 --------------------编程问答-------------------- 支持搂主,收藏 --------------------编程问答-------------------- --------------------编程问答-------------------- 帮顶下! --------------------编程问答-------------------- 过来学习的! --------------------编程问答-------------------- --------------------编程问答--------------------
补充:.NET技术 , Web Services