Asp.net 网页安全
我有一个ASP.Net网站,它使用成员资格提供程序来管理用户和角色。仅允许角色内的用户访问某些页面。下面的代码是否足以通过简单地键入指向该页面的URL来阻止非角色用户访问该页面?有没有更好的方法来处理这个问题Asp.net 网页安全,asp.net,security,Asp.net,Security,我有一个ASP.Net网站,它使用成员资格提供程序来管理用户和角色。仅允许角色内的用户访问某些页面。下面的代码是否足以通过简单地键入指向该页面的URL来阻止非角色用户访问该页面?有没有更好的方法来处理这个问题 Private Sub MessageWork_Init(sender As Object, e As EventArgs) Handles Me.Init If Not Roles.IsUserInRole("Practice") Then Response.Re
Private Sub MessageWork_Init(sender As Object, e As EventArgs) Handles Me.Init
If Not Roles.IsUserInRole("Practice") Then
Response.Redirect("\Default.aspx")
Exit Sub
End If
End Sub
我建议您在application_beginrequest部分的global.asax中添加相同的逻辑集。通过将页面上的角色列表作为应用程序缓存中的列表保存。你将有一个单一的控制点。若你们的代码在母版页中,那个么它是很好的。无需更改任何内容您的方法有效。但是,您可以在根web.config中设置权限,也可以在子目录web.config文件中设置权限 例如,此配置默认允许任何人访问所有站点;但是只有属于角色
Practice
的用户才能进入privatefile.aspx
。请记住,allow
和deny
是按外观顺序应用的:
<configuration>
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
<location path="privatefile.aspx">
<system.web>
<authorization>
<allow roles="Practice" />
<deny users="*" />
</authorization>
</system.web>
</location>
</configuration>
.太好了。谢谢你们两位。