【发布时间】:2010-01-21 19:31:15
【问题描述】:
我有一个使用表单身份验证的 C# ASP.NET 3.5 Web 应用程序。用户在 login.aspx 上使用他们的用户名和密码登录,使用自定义身份验证逻辑进行身份验证,然后被定向到 input.aspx,在那里他们输入一些参数并在 output.aspx 上获得响应。如果他们尝试访问 input.aspx 而不进行身份验证,他们将被重定向到 login.aspx。
同样的用户希望能够在 Unix 环境中使用此 Web 应用程序的功能,而无需使用 UI。所以我向这个 Web 应用程序添加了一个 Web 服务文件 (.asmx)。我没有为此 Web 服务创建单独的项目,因为 Web 服务使用代码文件,即现有 Web 应用程序的 global.asax 中的代码,我不应该为 Web 服务复制该代码。
Web 服务功能现在可以正常工作,但我不知道如何验证用户身份。 Web 服务客户端将发送一次用户名和密码(可能使用“登录”Web 方法,我可以编写它来验证它们)然后应该能够发送多个请求(可能直到他们调用“注销”Web 方法或直到他们的会话/cookies 过期)。
对于不重定向到 login.aspx 页面的 Web 请求,我使用 web.config 中的位置标记从 Forms 身份验证中排除了 .asmx 文件。 (我不知道那是不是要走的路。)但是我认为用户没有在 Web 应用程序中进行身份验证,因此服务使用的 Web 应用程序代码将无法访问,对吗?
【问题讨论】:
标签: asp.net-3.5 web-services web-applications authentication