【发布时间】:2016-03-21 15:48:41
【问题描述】:
我正在使用 .NET 4.5 和 SimpleInjector 编写 WCF 服务。它是一个 REST 服务(使用 http/get/post)。
我需要为我的服务添加一个授权层。经过一番折腾,我现在有了一个基于 ServiceAuthorizationManager 的自定义授权管理器。
我见过的所有例子(我发现很多)都有硬编码的用户名和密码检查。我想使用数据库,因此想将数据层注入我的班级。如果我将构造函数更改为带参数,则会引发异常“没有为此对象定义无参数构造函数”。
这是我基于代码的示例:https://msdn.microsoft.com/en-us/library/ms731774(v=vs.110).aspx 我添加了一个带有接口的构造函数:
public class MyServiceAuthorizationManager : ServiceAuthorizationManager
{
public MyServiceAuthorizationManager (IMyDataLayer mdl)
{ ...
Custom "Basic" Authentication for my WCF services. REST and RIA. Possible?
【问题讨论】:
-
请您包括引发错误的代码和完整的堆栈跟踪吗?
-
这是一个使用 WCF 的 REST 服务?你确定要这样做吗? WCF 有点烂,如果你做 REST,Web API 会让这更容易。我认为如果您使用 Web API 应用 this practice,您的生活会变得更轻松,如 this repository 所示。
-
@Steven 这正是我正在做的事情。
标签: c# wcf authentication dependency-injection simple-injector