繁体   English   中英

如何在不使用ASPNETDB.MDF的情况下使用角色管理 - asp.net/c#

[英]how can i use rolemanagement without the use of ASPNETDB.MDF - asp.net/c#

我想使用角色管理asp.net,但Visual Studio一直在创建ASPNETDB.MDF文件,我不需要这个。 我已经有一个现有的数据库文件,而不是ASPNETDB.MDF 这主要是为了拒绝不需要的用户不必要的目录列表。

提前致谢。

您可以删除ASPNETDB.MDF - 一个无关的附加数据库文件,并可以将您的所有安全信息(用户,角色)存储在自定义SQL数据库中。

按照这些简单的步骤

步骤01 - 在SQL数据库中创建安全表

首先,您需要创建将SQL安全信息保存在SQL数据库中的表。 有一个向导。

找到ASP.NET SQL Server安装向导(Windows XP和Windows 2008 Server):

%WINDIR%\\ Microsoft.NET \\框架\\ V2.0.50727 \\ aspnet_regsql.exe的

ASP.NET SQL Server安装向导位于(Windows 7 x64)其中一个:

%WinDir%\\ Microsoft.NET \\ Framework64 \\ v4.0.30319 \\ aspnet_regsql.exe%WinDir%\\ Microsoft.NET \\ Framework \\ v4.0.30319 \\ aspnet_regsql.exe%WinDir%\\ Microsoft.NET \\ Framework64 \\ v2.0.50727 \\ aspnet_regsql。 exe%WinDir%\\ Microsoft.NET \\ Framework \\ v2.0.50727 \\ aspnet_regsql.exe

这个自导向导非常简单。 您选择SQL Server(通常是。\\ SQLExpress)和所需的数据库,向导将创建所有必需的表和对象,以处理自定义SQL数据库中的ASP.NET安全性。

步骤02 - 生成机器密钥

安全表内的密码是存储加密的。 您需要在web.config文件中生成并记录您的唯一机器密钥。

访问http://aspnetresources.com/tools/machineKey ,获取一个准备好的独特机器密钥,整齐地包含在几行代码中,为您的web.config做好准备。 生成您的行并将它们放在XML元素中:

... <machineKey
      validationKey="6B6DC7FF0657AEE33FEB36189072D99551F27E281EAEEC8B0516B188A85CF2E4C
                     4A988429765C625979A232B5BE78D6E52CB59C3675B44FCA032C24B2C49DC5"
      decryptionKey="CFED70360D049F182EA009258C34ED698A799774A2687AAE94098C71C6BF38C8"
      validation="SHA1"
      decryption="AES" />
</system.web>

Step03 - 修改您的web.config

修改您的web.config以包含成员资格,角色和配置文件提供程序。

在XML元素中放置类似于这些行的代码。 将“Your”替换为适当的名称,与您的命名约定相匹配。

...

<membership defaultProvider="YourMembershipProvider">
  <providers>
    <add connectionStringName="YourConnectionString" applicationName="/"
       enablePasswordRetrieval="true" enablePasswordReset="true" requiresQuestionAndAnswer="false"
       requiresUniqueEmail="true" passwordFormat="Encrypted"     maxInvalidPasswordAttempts="5"
       passwordAttemptWindow="10" minRequiredPasswordLength="5" minRequiredNonalphanumericCharacters="0"
       name="YourMembershipProvider" type="System.Web.Security.SqlMembershipProvider" />
  </providers>
</membership>

<roleManager enabled="true" cacheRolesInCookie="true" cookieName="YOUR_ROLES" defaultProvider="YourRoleProvider">
  <providers>
    <add connectionStringName="YourConnectionString" applicationName="/" name="YourRoleProvider"
      type="System.Web.Security.SqlRoleProvider" />
   </providers>
 </roleManager>

 <profile defaultProvider="YourProfileProvider">
    <providers>
       <add name="YourProfileProvider" connectionStringName="YourConnectionString"
      applicationName="/" type="System.Web.Profile.SqlProfileProvider" />
     </providers>
 </profile>

现在,您可以在Web Developer或Visual Studio中运行ASP.NET配置,并确保在自定义数据库中创建所有新用户,而不是在/App_Data/ASPNETDB.MDF中创建

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM