【发布时间】:2010-02-12 21:45:31
【问题描述】:
我有一个使用基于表单的身份验证的 asp.net Web 应用程序、一个 SqlMembershipProvider(使用加密的密码格式)和一个 SqlRoleProvider。我需要知道是否可以从 Windows 应用程序管理用户(创建新用户、将他们分配给角色等)——这些权力不需要网络应用程序本身的任何管理功能。
这是来自 web.config 的成员资格提供者定义:
<membership defaultProvider="MyProvider">
<providers>
<add name="MyProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="MyConnectionString"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
applicationName="/MyWebApp"
requiresUniqueEmail="true"
passwordFormat="Encrypted"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="7"
minRequiredNonalphanumericCharacters="1"
passwordAttemptWindow="10"
passwordStrengthRegularExpression=""/>
</providers>
</membership>
以及角色管理器定义:
<roleManager enabled="true" defaultProvider="MyRoleManager">
<providers>
<add name="MyRoleManager"
type="System.Web.Security.SqlRoleProvider"
connectionStringName="MyConnectionString"
applicationName="/MyWebApp" />
</providers>
</roleManager>
这是 machineKey 定义(能够使用加密密码所必需的):
<machineKey
validationKey="BC50A82A6AF6A015C34C7946D29B817C00F04D2AB10BC2128D1E2433D0E365E426E57337CECAE9A0681A2C736B9779B42F75D60F09F142C60E9E0E8F9840DB46"
decryptionKey="122035576C5476DCD8F3611954C837CDA5FE33BCDBBF23F7"
validation="SHA1"
decryption="AES"/>
所以,很明显,我有一个 Sql Server 数据库,其中包含 Web 应用程序的用户和角色。我想创建一个引用 Web 应用程序集的单独 Windows 应用程序,并使用配置的 MembershipProvider、RoleProvider 和 machineKey 来创建用户、将用户分配给角色等。如果这不可能,我可以复制配置设置Windows 应用程序中的 web.config。但我也不知道该怎么做。
我认为这是可能的吗?我已经尝试在谷歌上搜索解决方案,但信噪比非常糟糕。
【问题讨论】:
标签: c# .net asp.net vb.net winforms