代码之家  ›  专栏  ›  技术社区  ›  Ladislav Mrnka

具有azman和ad角色的基于ASP.NET角色的安全性

  •  2
  • Ladislav Mrnka  · 技术社区  · 14 年前

    我正在尝试为我的一个ASP.NET应用程序评估Azman,但我有一个奇怪的问题。我的测试应用程序需要三个角色:

    • 用户
    • 业主
    • 行政

    我在应用程序的app_数据中创建了XML授权存储,并添加了这些角色定义。我将测试ASP.NET应用程序配置为使用AuthorizationStoreRoleProvider,并添加了一些使用principal.isInRole和principalPermission的测试代码。所有的事情都在我的本地计算机上运行良好,本地帐户分配给了azman的角色。

    然后我将我的测试应用程序移动到服务器上,并将Active Directory用户和组分配给Azman的角色。现在PrincipalPermission和Principal.IsInRole不再工作了。有趣的是,如果我将内置的Everyone组分配给它工作的任何角色,那么分配给角色的AD用户和组会出现一些问题。我可以将XML授权存储与广告组和用户一起使用吗?还有什么能引起这样的问题?

    2 回复  |  直到 14 年前
        1
  •  1
  •   Shiraz Bhaiji    14 年前

    检查ASP.NET应用程序的安全设置。

    这听起来像是启用了匿名身份验证,所以您的用户是以匿名用户的身份进入的,而不是他们自己,因此它适用于Everyone组。

        2
  •  0
  •   Sid C    14 年前
        <roleManager enabled="true" cacheRolesInCookie="false" cookieName=".ASPXROLES" cookieTimeout="30" cookiePath="/" cookieRequireSSL="false" cookieSlidingExpiration="true" cookieProtection="All" defaultProvider="AspNetWindowsTokenRoleProvider" createPersistentCookie="false" maxCachedResults="25">
            <providers>
                <clear/>
                <add applicationName="/" name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
            </providers>
        </roleManager>