我在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服务挂钩到已在模板中创建的登录框的示例,但我完全不知道如何做到这一点!
有人可以提供任何建议吗?
答案 0 :(得分:1)
Business应用程序模板具有AuthenticationService,它基于User对象和AuthenticationBase类。 AuthenticationBase具有可以覆盖的虚拟方法,以使用您自己的安全机制。
例如,有一个基于用户名和密码的Login方法。此方法返回具有名称和角色的IUser。
在查看界面后,我将创建IUser的子接口以包含允许的操作列表,并更改生成的User类以实现此子接口。我将覆盖AuthenticationService中的Login和相关方法,以使用您现有的基于Azman的代码。