如何在两个不同的文件夹中应用asp.net授权?

如何在两个不同的文件夹中应用asp.net授权?,asp.net,web-config,forms-authentication,Asp.net,Web Config,Forms Authentication,我的asp.net网站中有两个文件夹,即供应商和管理员 我希望当任何用户访问ADMIN文件夹中的任何页面时,它会重定向到ADMIN/login.aspx,直到他们登录 我希望当任何用户访问供应商文件夹中的任何页面时,它会重定向到VENDORS/login.aspx,直到他们登录为止 如何使用web.config授权执行此操作……您需要在admin和vendors文件夹中分别设置web.config文件。在这些web.config文件中,您可以独立声明元素。global web.config不应包

我的asp.net网站中有两个文件夹,即供应商和管理员

我希望当任何用户访问ADMIN文件夹中的任何页面时,它会重定向到ADMIN/login.aspx,直到他们登录

我希望当任何用户访问供应商文件夹中的任何页面时,它会重定向到VENDORS/login.aspx,直到他们登录为止


如何使用web.config授权执行此操作……

您需要在admin和vendors文件夹中分别设置web.config文件。在这些web.config文件中,您可以独立声明
元素。global web.config不应包含
元素

编辑:
我将在下面提供一个xml片段,但是实现FormsAuthentication并不是我推荐给初学者的任务。首先,您应该阅读并理解实施至少一个项目所涉及的流程。也就是说,这将是
部分下的相关web.config条目:

<authentication mode="Forms">
    <forms loginUrl="~/vendors/login.aspx" 
           protection="All" 
           timeout="30" 
           name=".ASPXAUTH" 
           requireSSL="false" 
           slidingExpiration="false" 
           defaultUrl="~/vendors/default.aspx" 
           cookieless="UseDeviceProfile"/>
</authentication>


除非供应商和管理站点完全不相关,否则我建议使用单一身份验证体系结构。在根级别有一个登录页面,然后使用
元素定义角色授权(或在每个子文件夹中分离
web.config
文件)。管理员登录到
/admin/login.aspx
和供应商登录到
/vendors/login.aspx
是绝对必要的吗?

您可能还需要识别每种情况下的授权角色。@mellamokb-如果OP使用的是通用表单身份验证体系结构,我建议使用角色,但是,除非他有不同级别的供应商或不同级别的管理员,否则身份验证责任的分离实际上使角色变得相当无关。我对OP的建议是使用通用身份验证框架,并按照您的建议使用角色,但我已经回答了“按原样”的问题。@user594849-我已经回答了“按原样”的问题。你是在问什么是设计这种区域分隔的理想方法,还是在寻找一个关于我给出的答案的片段?是的,我想要代码片段示例..如何做..因为我是初学者…@user594849-edit中提供的代码片段,但我建议你也阅读我提供的链接。它有关于这个过程的有价值的背景信息。请查阅。在
web.config
,以及创建登录页面上都有大量文档。计划你将如何布置你的网站,尽你所能,然后回来问一个更具体的问题。@user594849-这真的没有“代码片段”。这个答案是一个架构的建议。这确实需要阅读和理解有关表单验证的文档。