我有一个.NET富客户端(WPF)应用程序,将同时在3个不同的场景中部署:
1. 客户端和服务器代码在单个进程中运行 2. 客户端代码在Intranet计算机上运行,并通过WCF与运行应用程序/领域/基础结构代码的服务器计算机通信 3. 与#2相同,但客户端可以在防火墙外的计算机上运行。自定义用户和角色列表应该集中维护(即凭据不基于Windows登录)
对于这个应用程序,实现相同的用户授权/身份验证模型的简单而可靠做法是什么?即使应用程序如何部署,我都希望在我的表示层、应用程序层、领域层等方面采用同样的方法。
我的SQL数据库应该明确地维护用户/角色吗?应该使用
由于这是一个低调的应用程序,安全性并不是非常重要 - 只需要一些基本的安全措施。
感谢!
编辑
经过数小时WIF/声明为基础的身份验证研究,我仍然看不到任何关于如何创建独立的.NET桌面应用程序的指导,该应用程序采用这种类型的安全性。所有讨论都针对ASP.NET或WCF。我需要我的应用程序使用标准方法,在分布式(WCF)和独立部署场景中都可以使用。
1. 客户端和服务器代码在单个进程中运行 2. 客户端代码在Intranet计算机上运行,并通过WCF与运行应用程序/领域/基础结构代码的服务器计算机通信 3. 与#2相同,但客户端可以在防火墙外的计算机上运行。自定义用户和角色列表应该集中维护(即凭据不基于Windows登录)
对于这个应用程序,实现相同的用户授权/身份验证模型的简单而可靠做法是什么?即使应用程序如何部署,我都希望在我的表示层、应用程序层、领域层等方面采用同样的方法。
我的SQL数据库应该明确地维护用户/角色吗?应该使用
Thread.CurrentPrincipal
来授权某些应用程序功能所需的代码,还是应该注入依赖项IUserService
?由于这是一个低调的应用程序,安全性并不是非常重要 - 只需要一些基本的安全措施。
感谢!
编辑
经过数小时WIF/声明为基础的身份验证研究,我仍然看不到任何关于如何创建独立的.NET桌面应用程序的指导,该应用程序采用这种类型的安全性。所有讨论都针对ASP.NET或WCF。我需要我的应用程序使用标准方法,在分布式(WCF)和独立部署场景中都可以使用。