【发布时间】:2010-01-29 16:36:49
【问题描述】:
我有一个在我的 Web 应用程序中运行的 WCF 服务,它向 Silverlight 应用程序提供数据,并且定义如下(使用适当的 .svc 文件)......
[ServiceContract(Namespace = "")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class DispatchService
{
[OperationContract]
public DateTime GetServerTime()
{
// Add your operation implementation here
return DateTime.Now;
}
这个想法是用户登录网站,然后获得所有服务的授权。我不想让我的 Silverlight 应用程序有登录方面来对用户进行身份验证。
因此,我不希望任何未经身份验证的人能够调用我的服务。
我可以……
以某种方式为每个操作合同确定这一点。我查看了 OperationContext 对象的内部,但找不到可以作为确定用户身份的方法。
以某种方式赋予 ServiceContract 属性以使该方法只能由授权用户使用?
在我的 web.config 中添加一些内容以阻止未经授权的用户访问包含服务的文件夹?
您的想法将不胜感激。
谢谢。
【问题讨论】:
标签: asp.net wcf silverlight authorization