在asp.net中制作某些页面的最佳方法是什么?需要登录?
我正在使用asp.net网站项目,有些页面需要身份验证.我正在使用asp.net会员资格.
我读了一些答案.例如在文件夹中创建所有这些页面并创建描述该权限的内部web.config.这是解决问题的一种方法,但我需要更具可修复性和有效性的方法. 解决方法
如果您不想在web.config中对其进行硬编码,则需要实现“基页”类型控件.
您的基页类应继承自System.Web.UI.Page,并且需要有一个方法可以调用“用户必须登录”或“用户必须在角色x中”,如果用户不是’在该角色中,重定向到登录页面(您可以通过调用FormsAuthentication.LoginUrl获得此信息). 您的实际页面应该从此类继承,而不是直接从System.Web.UI.Page继承.然后,在诸如Init之类的内容中,或在Page_Load的顶部,调用 base.UserMustBeLoggedIn(); 要么 // Replace "AccessRole" with the name of your role base.UserMustBeInRole("AccessRole"); 让基页处理这个. 如果您希望将访问权限存储在数据库中,则可以将所有处理移动到基页,并在页面生命周期中的适当位置,根据数据库表检查当前URL,检查用户角色/身份验证违反要求并根据需要重定向. 请注意,您可以在Web配置中创建页面级安全性,如下所示: <configuration> <location path="LockedPage.aspx"> <system.web> <authorization> <!-- Deny access to anonymous users --> <deny users="?"/> </authorization> </system.web> </location> </configuration> 有关详细信息,请访问MSDN:The Location Element和The Authorization Element. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 404的ASP.NET自定义错误页面为http状态返回302
- “XmlDocumentationProvider”不实现接口成员“IDocumentat
- 迁移WPF项目到.NET Core
- asp.net – 如何使用kentico CMS获取GoogleNewsSitemap中的
- asp.net-mvc – Asp.Net MVC 2 Label自定义文本
- ASP.NET Core 1.0 ConfigurationBuilder().AddJsonFile(“a
- asp.net-mvc – NullReferenceException ASP.NET MVC文本框
- asp.net – SCOPE_IDENTITY()不起作用
- 经典ASP和ASP.NET MVC2集成
- iis – 如何查看池中的哪个asp.net应用程序使用的内存最多