【问题标题】:using Windows integrated authentication with SqlRoleProvider in silverlight application在 silverlight 应用程序中使用带有 SqlRoleProvider 的 Windows 集成身份验证
【发布时间】:2011-02-09 10:53:05
【问题描述】:

我正在开发需要将用户放入角色并根据其角色获得不同权限的 Web 应用程序。这可以通过使用 Forms Authentication 和 SqlRoleProvider 轻松完成。但是,应用程序将在公司内部网内部使用,并且表单身份验证强制用户每次要使用应用程序时手动登录,使用 Windows 集成身份验证看起来更加优雅,因为用户已经登录了公司域。但是这里的角色存在问题,默认情况下,集成身份验证使用用户 Windows 帐户中内置的角色(组成员身份等..)。我的应用程序要求我将用户放入自定义角色。因此,就角色而言,让我控制数据库是更有利的解决方案。 有没有办法将 Windows 集成身份验证(用于身份验证)与 SqlRoleProvider(用于角色和用户管理)一起使用?

【问题讨论】:

  • 恕我直言,这属于 StackOverflow 而不是这里。

标签: windows silverlight iis-7 wcf-ria-services


【解决方案1】:

我们已经在我们的应用程序中完全做到了这一点,您必须创建自己的 RoleProvider,然后在 web.config 中指定它。然后你可以从任何你喜欢的来源加载你的角色。

<roleManager enabled="true" defaultProvider="MyRoleProvider">
    <providers>
        <clear />
        <add name="MyRoleProvider" type="MyCompany.MyRoleProvider, MyAssembly" />
    </providers>
</roleManager>

角色提供者http://msdn.microsoft.com/en-us/library/system.web.security.roleprovider.aspx

【讨论】:

  • 你是对的,但正如grabah指出的那样,如果你想将角色信息存储在SQL Server中,你可以使用默认的SqlRolesProvider ;)
【解决方案2】:

BenCr 是对的。但我想避免创建自己的角色提供程序,并希望能够轻松添加用户(通过 Visual Studio 内置的 ASP.NET 配置工具)

所以我在网上找到了这个并且它有效。结果比我想象的要简单得多。 您只需在 Web 配置文件中启用角色,以及 Windows 集成身份验证。复制您的本地 mdf 文件(并将其附加到 sql server)并且它可以工作。

http://weblogs.asp.net/scottgu/pages/Recipe_3A00_-Implementing-Role_2D00_Based-Security-with-ASP.NET-2.0-using-Windows-Authentication-and-SQL-Server.aspx

【讨论】:

  • 你是对的,没有必要创建自己的 Provider,因为他会做的和错误的 SqlRolesProvider 做的差不多。感谢 chare te 链接很棒的文章!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-29
  • 1970-01-01
相关资源
最近更新 更多