【问题标题】:Adding a user in table to Role declare in asp.net将表中的用户添加到asp.net中的角色声明
【发布时间】:2013-02-10 14:38:58
【问题描述】:

我在 asp.net 中创建了一个角色:

<configuration>

  <CustomUsersSection>

    <Roles>

      <add RoleName="Administrator"/>
    </Roles>

<Users>


      <add UserName="admin" Password="password" 
           Email="abot@home" Role="Administrator"/>
    </Users>
</CustomUsersSection>

</configuration>

现在我想将添加到表中的所有管理员从sql-server 添加到上面定义的角色中。感谢您的帮助。

My Admin table structure is as follows:
AdminId
AdminName
EmailAddress
...

【问题讨论】:

  • 您使用的是 ASP.NET 成员资格吗?无论如何,这还不足以有效地回答您的问题。任何答案都必须对您的代码及其结构做出许多假设。
  • 先生,因为我们在上面的代码中将用户添加到角色管理员。我想将所有管理员保存到我的表中动态添加到管理员角色。这样每当有任何新管理员被添加到我的表中时。它会自动分配给管理员角色。

标签: asp.net web-config authorization role


【解决方案1】:

假设您使用的是 ASP.NET 成员资格,我会考虑实施您自己的成员资格提供程序。你可以相对容易地做到这一点,网上有很多关于如何做到这一点的资料。然后,您将能够实现自己的测试(例如数据库表中是否存在记录)以确定用户是否具有管理员角色。

不过,我建议您在执行此操作之前了解内置的成员资格提供程序和 ASP.NET 自动创建的成员资格数据库。这是因为这是一个相当不错的实现,并且会为您自己做一些劳动密集型的事情,例如加密存储的信息以防止其被轻易入侵。

【讨论】:

  • Maam,我尝试通过 ASP.NET 成员身份实现,但我创建的用户没有插入到 aspnet_Users 表中。正如它显示的那样,创建的用户数是 2,但表是空的,并且没有更新 webconfig 代码。可能是什么错误。正如我在解决方案资源管理器中通过网站所做的那样,它可以工作,但不能来自解决方案资源管理器中的 webApplication。
  • 有没有办法添加用户,然后在网站部署到实时站点后添加该用户??
  • 如果它说创建的用户数是 2,但您的数据库副本没有显示用户,最可能的原因是它指向的数据库与您正在查找的数据库不同在。如果找不到,ASP.NET Membership 将创建一个数据库,因此它可能已经创建了一个新数据库并将新用户放入其中。 web.config 中的连接字符串应该告诉您成员资格提供者在哪里寻找数据库。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-25
  • 2017-10-16
  • 2019-03-12
  • 1970-01-01
  • 2013-08-19
  • 1970-01-01
相关资源
最近更新 更多