我正在使用ASP.NET 登录控件 http://msdn.microsoft.com/en-us/library/ms178329.aspx and 表单验证 http://msdn.microsoft.com/en-us/library/aa480476.aspx用于 ASP.NET Web 应用程序的成员资格/凭据。
我有两个角色:
我希望页面可供四个不同的组查看:
- 每个人(默认、帮助)
- 匿名的(创建用户、登录、恢复密码)
- Users (更改密码、数据输入)
- 管理员(Report)
扩展中的示例ASP.NET HOW DO I 视频系列:成员资格和角色 http://www.asp.net/learn/videos/video-45.aspx,我已将这些页面文件放入此类文件夹中:
我使用 ASP.NET 网站管理工具来设置每个文件夹的访问规则。
它有效,但对我来说似乎很笨拙并且会产生问题当 Login.aspx 不在根目录时 https://stackoverflow.com/questions/33089/how-do-i-use-aspnet-login-controls-when-my-loginaspx-is-not-at-the-root-of-my-a并与返回网址参数 https://stackoverflow.com/questions/33166/how-do-i-keep-my-loginaspx-pages-returnurl-parameter-from-overriding-my-aspnetLogin.aspx 的。
有一个更好的方法吗?是否有一种简单的方法可以在页面级别而不是文件夹级别设置权限?
我的脑海中浮现出几个解决方案。
- 您可以在 web.config 文件中为每个页面设置限制。这将允许您拥有您想要使用的任何文件夹层次结构。但是,每当您添加其他页面时,它都要求您保持 web.config 文件最新。让文件夹结构决定可访问性的好处是,您在添加新页面时不必考虑它。
- 让您的页面继承自定义类(即EveryonePage、UserPage、AdminPage 等),并在Page_Load 例程中进行角色检查。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)