我试图理解这是如何工作的。我的想法是使用这样的母版页制作可管理的项目:
Admin Head Section
User Head Section
-----------------
Admin Content PlaceHolder
User Content PlaceHolder
1)应该使用单个母版页还是2个(Admin.Master + Main.Master)来完成? 2)如果用户未在DB中的Code Behind中进行身份验证,是否可以隐藏管理员部分?
整个想法是在目标.aspx页面中写入最少量的代码(2个目录:1个用于管理任务,1个用于普通用户操作)。
答案 0 :(得分:3)
我认为Nested Master Pages会对你有所帮助,或者至少它是处理这种设计的正确方法。
答案 1 :(得分:0)
如果您使用的是内置的FormsAuthentication和AspNetSqlMembershipProvider,那么我将使用一个母版页,并使用LoginView
控件。见http://msdn.microsoft.com/en-us/library/cc295194.aspx
通过这种方式,您可以自定义用户登录时看到的内容,以及他们订阅的角色。
然后,您可以将所有管理页面放在一个文件夹中,并且只允许具有管理员角色的用户访问此文件夹。这样,如果有人导航到此文件夹中的某个页面,它们将自动被重定向到远离它的位置。