我在 web.config 中为角色指定了动词。这很好用,如果角色尝试在页面 Test.aspx 中发布,角色观察者将被重定向到登录页面。例子:
<location path="Test1.aspx">
<system.web>
<authorization>
<allow roles="Administrator" />
<allow roles="Observer" verbs="GET" />
<deny users="*"/>
</authorization>
</system.web>
</location>
<location path="Test2.aspx">
<system.web>
<authorization>
<allow roles="Administrator" />
<allow roles="Observer" />
<deny users="*"/>
</authorization>
</system.web>
</location>
但是,当用户尝试在 Test.aspx 页面中进行 POST 时,这会让用户感到有些困惑。我想通知用户在实际点击任何内容之前不允许他/她发帖。像这样的东西:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If *Not User.Role("Observer").Verbs("Post").Allowed* then
uiSave.enabled = false
End if
End Sub
所以,问题是:我在哪里可以访问这些信息?