在dll中使用asp.net的会员提供者

 2023-02-17    378  

问题描述

过去几年中,我在Web应用程序中使用了会员资格提供商.我现在有一个新的”请求”对工作中的内部项目.他们希望服务(而不是网络服务)快速验证.基本上,公开 valuteuser(用户名,密码)方法…

我正在与我们的内部网站坐在的DLL中构建它.做这项工作的最佳方法是什么? DLL将不引用Web应用程序和Web应用程序 Will 参考DLL.如何使DLL了解会员提供者?

在dll中使用asp.net的会员提供者

tia

ps:如果在其他地方回答了这一点,请引导我…

编辑:我找到了一篇有关使用Winforms和/或WPF应用程序的ASP.NET成员资格的文章.不幸的是,这些取决于app.config文件. DLL似乎不使用App.config发布.如果我错了,请让我直截了当!这篇文章在这里:

推荐答案

好吧,看来设置SQLMembersHippRovider连接字符串的唯一方法是使用

初始化SQL Server成员资格
提供属性价值的提供商
在ASP.NET应用程序中指定
配置文件.此方法不是
打算直接从您的
代码.

因此,基本上我们必须找出一种将这些信息获取到与托管DLL的应用程序关联的配置文件中的方法.

您要做的就是在组装中参考system.web.dll和system.configuration.dll,使用sqlmembershipprovider,然后在app.config中设置适当的值,例如So:

<?xml version=" 1.0"="" encoding="utf-8" gt;="" <configuration>="" <connectionstrings>="" <add="" name="MembershipConnectionString" connectionstring="connectionstringdetails" providername="System.Data.SqlClient" gt;="" </connectionstrings>="" <system.web>="" <membership="" defaultprovider="DefaultSqlMembershipProvider" >="" <providers>="" <clear="" gt;="" <add="" name="DefaultSqlMembershipProvider" connectionstringname="MembershipConnectionString" type="System.Web.Security.SqlMembershipProvider" gt;="" </providers>="" </membership>="" </system.web>="" </configuration>="">

要注意的重要一点是,如果您" myAssembly.dll"和" theapp.exe",则应该是" theapp.exe.config",而不是" myassembly.dll.config".配置文件始终与执行程序集关联.

其他推荐答案

在网站中,当应用程序启动时(application_start in global.asax中),您可以将网站意识到的会员提供者的参考传递给您编写的DLL. DLL将简单地期待类型System.Web.Security.MembershipProvider.这样,DLL仍然可以从实施中调用所需的方法,但不知道编译时提供商的运行时类型(这就是所谓的依赖项注入).

以上所述是小编给大家介绍的在dll中使用asp.net的会员提供者,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/34107.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。