我的asp.net网站上有两个文件夹,即VENDORS和ADMIN
我希望当任何用户访问ADMIN文件夹中的任何页面时,它会重定向到Admin / login.aspx,直到他们登录....
我希望当任何用户访问VENDORS文件夹中的任何页面时,它会重定向到Vendors / login.aspx,直到他们登录....
如何使用web.config授权....
答案 0 :(得分:5)
您需要分别在admin和vendors文件夹中包含web.config文件。在这些web.config文件中,您将独立声明<formsauthentication>
个元素。全局web.config不应包含<formsauthentication>
元素。
修改强>
我将在下面提供一个xml片段,但实现FormsAuthentication并不是我推荐给初学者的任务。首先,您应该阅读并理解实现至少basic FormsAuthentication model所涉及的过程。话虽这么说,这将是<system.web>
部分下的相关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>
答案 1 :(得分:2)
除非供应商和管理员站点完全不相关,否则我建议使用单一的身份验证体系结构。在根级别创建一个登录页面,然后使用<location>
元素定义角色授权(或在每个子文件夹中单独的web.config
个文件)。管理员是否必须登录/admin/login.aspx
并且供应商登录/vendors/login.aspx
?