Silverlight 4 - 针对自定义wcf服务的身份验证/授权

时间:2010-05-29 14:25:06

标签: wcf silverlight azman

我在AzMan商店前面有一个wcf服务,它使用以下界面将角色和操作传递给客户:

    [OperationContract]
    bool AuthenticateUser(string password, string appName);

    [OperationContract]
    string[] GetRoles(string storelocation, string appName);

    [OperationContract]
    string[] GetOperations(string storeLocation, string appName, string selectedRole);

客户端使用Windows身份验证连接到此服务(但用户必须通过密码发送以重新确认其身份)。最终,该服务提供了一系列操作,每个客户端可以根据其选定的角色执行这些操作。

我已经打开了一个新的Silverlight业务应用程序,并尝试了解身份验证/授权在此模板中的工作原理,并搜索网络以查找如何将我的Web服务挂钩到已在模板中创建的登录框的示例,但我完全不知道如何做到这一点!

有人可以提供任何建议吗?

1 个答案:

答案 0 :(得分:1)

Business应用程序模板具有AuthenticationService,它基于User对象和AuthenticationBase类。 AuthenticationBase具有可以覆盖的虚拟方法,以使用您自己的安全机制。

例如,有一个基于用户名和密码的Login方法。此方法返回具有名称和角色的IUser。

在查看界面后,我将创建IUser的子接口以包含允许的操作列表,并更改生成的User类以实现此子接口。我将覆盖AuthenticationService中的Login和相关方法,以使用您现有的基于Azman的代码。