ecl*_*eel 6 membership asp.net authentication
我正在使用asp.net网站项目,有些页面需要身份验证.我正在使用asp.net会员资格.
我读了一些答案.例如,在文件夹中创建所有这些页面并创建描述该权限的内部web.config.这是解决问题的一种方法,但我需要更具可修复性和有效性的方法.
Zha*_*uid 20
如果您不想在web.config中对其进行硬编码,则需要实现"基页"类型控件.
您的基页类应继承自System.Web.UI.Page,并且需要有一个方法可以调用"用户必须登录"或"用户必须在角色x中",如果用户不是'在该角色中,重定向到登录页面(您可以通过调用FormsAuthentication.LoginUrl来获取此信息).
您的实际页面应该从此类继承,而不是直接从System.Web.UI.Page继承.然后,在诸如Init之类的内容中,或在Page_Load的顶部,调用
base.UserMustBeLoggedIn();
Run Code Online (Sandbox Code Playgroud)
要么
// Replace "AccessRole" with the name of your role
base.UserMustBeInRole("AccessRole");
Run Code Online (Sandbox Code Playgroud)
让基页处理这个.
如果您希望将访问权限存储在数据库中,则可以将所有处理移动到基页,并在页面生命周期中的适当位置,根据数据库表检查当前URL,检查用户角色/身份验证违反要求并根据需要重定向.
请注意,您可以在Web配置中创建页面级安全性,如下所示:
<configuration>
<location path="LockedPage.aspx">
<system.web>
<authorization>
<!-- Deny access to anonymous users -->
<deny users="?"/>
</authorization>
</system.web>
</location>
</configuration>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7557 次 |
| 最近记录: |