首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Asp.net的表单身份验证

Asp.net的表单身份验证
EN

Stack Overflow用户
提问于 2010-12-10 19:45:40
回答 5查看 254关注 0票数 5

我在Asp.net应用程序上工作,我在我的应用程序中有4个角色。1.管理2.用户3.经销商4.附属公司为此,我使用了表单身份验证,对于单个角色(用户),一切工作正常。但现在我有4个角色,我不知道如何管理它。我有4个不同用户的文件夹。如果我使用经销商帐户登录,如果我更改了用户的网址,那么它也允许我访问用户部分。但我不想这样。我需要在我的应用程序中,用户只能访问他的访问区域。意味着如果您的经销商已登录,则他只能访问经销商页面或同一文件夹,其他内容则无法访问。

请帮我找到这个解决方案。

EN

回答 5

Stack Overflow用户

发布于 2010-12-10 19:52:24

这里有两件事要看。首先,如果您在web.config中使用<location>元素,那么按角色限制对每个文件夹的访问应该足够简单。

代码语言:javascript
复制
<location path="Resellers">
    <system.web>
        <authorization>
            <allow roles="Reseller"/>
            <deny roles="*"/>
       </authorization>
    </system.web>
</location>

<location path="Users">
    <system.web>
        <authorization>
            <allow roles="User"/>
            <deny roles="*"/>
       </authorization>
    </system.web>
</location>
...

此外,在您的各个页面中,您还可以调用IsUserInRole函数来检查您的用户是否具有访问该页面的正确角色。

你可能想要一份Beginning ASP.NET Security的副本,它有很多关于如何做到这一点的信息。

票数 1
EN

Stack Overflow用户

发布于 2010-12-10 19:58:26

您可以使用web.config来设置权限,或者您也可以获得更细粒度的权限,并像这样修饰您想要锁定的类或方法:

代码语言:javascript
复制
[PrincipalPermissionAttribute(SecurityAction.Demand, Role = @"Administrators")]

所有这些都是您可以设置的角色管理器的一部分。从阅读this文章开始,这篇文章解释了要做什么。

票数 1
EN

Stack Overflow用户

发布于 2010-12-10 19:52:16

您需要在web.config文件中为要限制访问的每个文件夹设置适当的身份验证设置。

代码语言:javascript
复制
<authorization>
  <deny users="?" />
  <allow roles="Administrators" />
  <deny users="*" />
</authorization>

将仅允许具有“管理员”角色的已验证用户访问。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4408501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档